當前位置:成語大全網 - 書法字典 - 字典符號輸出

字典符號輸出

導入Java . util . ArrayList;

導入Java . util . iterator;

公共類比較{

Public void計數排序(string [] a,char [] b,int k){//計數排序。

String[] temp =新字符串[a . length+1];

int[]c = new int[k+1];

int i,j;

for(I = 0;我& lt= k;i++)

c[I]= 0;

for(j = 0;j & ltb .長度;j++) {

c[B[j]-' a ']= c[B[j]-' a ']+1;

}

for(I = 1;我& lt= k;i++)

c[I]= c[I]+c[I-1];

for(j = a . length-1;j & gt= 0;j - ) {

temp[c[B[j]-' A ']]= A[j];

c[B[j]-' a ']= c[B[j]-' a ']-1;

}

for(I = 1;我& lt= A .長度;i++) {

a[I-1]= temp[I];

}

}

public void radixSort(String[] A,int d) {

ArrayList[]arr = new ArrayList[26];

countingSort(A,divide(A,d),max(divide(A,d))-' A ');

for(int I = 0;我& lta .長度;i++) {

int temp = A[i]。charAt(d-1)-' a ';

if(arr[temp] == null)

arr[temp]= new ArrayList();

arr[臨時]。添加(A[I]);

}

for(int j = 0;j & lt26;J++) {//插入並排序每個桶。

if(arr[j]!= null) {

insert(arr[j]);

}

}

//合並每個桶的結果。

int count = 0;

for(int I = 0;我& lt26;i++) {

if(arr[i]!= null) {

叠代器it = arr[i]。叠代器();

while(it.hasNext()) {

String temp =(String)it . next();

a[count]= temp;

count++;

}

}

}

}

public void Insert(ArrayList list){//Insert sort。

if(list . size()& gt;1) {

for(int I = 1;我& ltlist . size();i++) {

if(compare to((String)list . get(I),(String)list . get(I-1))& lt;0) {

String temp =(String)list . get(I);

int j = I-1;

for(;j & gt= 0 & amp& ampcompareTo(temp,(String)list . get(j))& lt;0;j -)

list.set(j + 1,list . get(j));

list.set(j + 1,temp);

}

}

}

}

Int compareto (string a,string b){//比較兩個字符串的大小。

返回a . compare to(b);

}

Public char [] divide (string [] a,int count){//取數組中每個字符串的d個字符。

char[]B = new char[a . length];

for(int I = 0;我& lta .長度;i++) {

B[i] = A[i]。charAt(count-1);

}

返回B;

}

Public char max(char[] B) {//查找數組中的最大值。

char max = ' a

for(int I = 0;我& ltb .長度;i++) {

if(B[I]& gt;max)max = B[I];

}

返回max

}

公共靜態void main(String[] args) {

CompareString cs = new CompareString();

String[] A = {“蘋果”、“妳好”、“親愛的”、“晴”、“日”、“開心”};

cs.radixSort(A,1);

for(int I = 0;我& lta .長度;i++)

system . out . print(A[I]+" ");

}

}