중화사전망 - 서예자전 - 절차 사전 순서

절차 사전 순서

Java.util.arraylist 가져오기

Java.util.iterator 가져오기

공용 클래스 비교 {

Public void 수 정렬 (string [] a, char [] b, int k){// 수 정렬.

String [] temp = 새 문자열 [a.length+1];

Int [] c = newint [k+1];

Int I, j;

For(I = 0;; 나<= k;; I++)

C [I] = 0;

For(j = 0;; J< 길이; J++) {

C [b [j]-a'] = c [b [j]-a']+1;

}

For (I =1; 나<= k;; I++)

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

For (j = a. length-1; J>= 0; J-){

Temp [c [b [j]-[a'] = a [j];

C [b [j]-[a'] = c [b [j]-[a']-1;

}

For (I =1; 나< = a. 길이; I++) {

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

}

}

Public void radixsort (string [] a, int d ){

Arraylist [] arr = new ArrayList [26];

Counting sort(A, divide(A, d), 최대 (divide (a, d))-'a');

For(int I = 0;; 나<A. 길이 I++) {

Inttemp = a [I] 입니다. 차트 (d-1)-"a";

If (arr [temp] = = null)

Arr [temp] = new ArrayList ();

Arr [temp] add (a [I]);

}

For(int j = 0;; J & lt26; J++){// 각 버킷을 삽입하고 정렬합니다.

If (arr [j]! = null) {

Insert (arr [j]);

}

}

//각 배럴을 병합한 결과.

Intcount = 0;

For(int I = 0;; 나 & lt26; I++) {

If (arr [I]! = null) {

반복자 it = arr [I]. 반복자 ();

While(it. hasnext()){

Stringtemp = (string) it.next ();

A [count] = temp;

Count++;+;

}

}

}

}

Public void insert (arraylistlist) {//삽입 정렬.

If (list.size () > 1) {

For (int I =1; 나 & ltlist.size (); I++) {

If (compare to ((string) list.get (I), (string) list.get (I-1))&loc 0) {

Stringtemp = (string) list.get (I);

Int j = I-1;

For (; J>= 0 & amp& ampcompare to(temp, (string) list.get (j)) < 0; J-)

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

List. set(j+ 1, temp);

}

}

}

}

Int compare to(string a, string b){// 두 문자열의 크기를 비교합니다.

A. compare to (b) 를 반환합니다.

}

Public char [] divide (string [] a, int count){// 배열에 있는 각 문자열의 d 문자를 가져옵니다.

Char [] b = 새 문자 [a. length];

For(int I = 0;; 나<A. 길이 I++) {

B [I] = a [I]. 차트 (수-1);

}

B 로 돌아가기

}

Public charmax (char [] b) {//배열에서 최대값을 찾습니다.

Charmax =' a';

For(int I = 0;; 나< 길이; I++) {

If (b [I]; 최대) 최대 = b [I];

}

Return max

}

공용 정적 void main(String[] args) {

Comparestringcs = new comparestring ();

String [] A = {"사과", "안녕하세요", "여보", "맑음", "날", "행복"};

Cs. radix sort(A,1);

For(int I = 0;; 나<A. 길이 I++)

System.out.print (a [I]+"");

}

}