Salida de símbolos del diccionario
Importar Java.util.iterator;
Comparación de clases públicas {
Recuento de vacíos públicos sort(string[] a, char [] b, int k){// Ordenación por conteo.
String[] temp = nueva cadena [a . longitud 1];
int[]c = new int[k 1]; j;
for(I = 0; I lt= k; i )
c[I]=
for(j = 0; j ltb .length; j ) {
c[B[j]-' a ']= c[B[j]-' a '] 1
} p; >
for(I = 1;ilt= k;i)
c[I]= c[I] c[I-1];
for( j = a . longitud-1; j gt= 0; j - ) {
temp[c[B[j]-' A ']]= A[j];
c [B[j]-' a ']= c[B[j]-' a ']-1
}
for(I = 1; I lt = A; longitud; i) {
a[I-1]= temp[I];
}
}
vacío público. radixSort(String[] A, int d) {
ArrayList[]arr = new ArrayList[26];
countingSort(A, divide(A, d), max (divide (A, d))-' A ');
for(int I = 0; i lta . length; i) {
int temp = A[i] . charAt(d-1)-' a ';
if(arr[temp] == null)
arr[temp]= new ArrayList();
arr[temporal]. add(A[I]);
}
for(int j = 0; j lt26; J ) { // Inserta y ordena cada depósito.
if(arr[j]!= null) {
insertar(arr[j]);
}
}
//Fusionar los resultados de cada depósito.
int count = 0;
for(int I = 0;ilt26;i) {
if(arr[i]!= null) {
Iterador it = arr[i]. Iterador();
while(it.hasNext()) {
String temp =(String)it next();
a[count ] = temp;
cuenta;
}
}
}
}
Insertar public void (lista ArrayList){// Insertar orden.
if(lista . size() gt; 1) {
for(int I = 1; i ltlist . size(); i ) {
if(comparar con((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, lista . get(j));
list.set(j 1, temp
}<); /p>
}
}
}
Int compareto (cadena a, cadena b){//Compara los tamaños de dos cadenas.
Devuelve un . comparar con (b);
}
División de carácter público [] (cadena [] a, int count){//Obtener el matriz d caracteres de cada cadena en .
char[]B = new char[a . longitud];
for(int I = 0; i lta . longitud; i) {
B [yo] = A[yo]. charAt(count-1);
}
Devolver B;
}
Público char max(char[] B) { //Encuentra el valor máximo en la matriz.
char max = ' a
for(int I = 0; iltb. length; i) {
if(B[I] gt; max ) max = B[I];
}
Devolver max
}
Public static void main(String[] args) {
CompareString cs = new CompareString();
String[] A = {"Apple", "Hola", "Estimado", "Sunny", "日", "Feliz "};
cs.radixSort(A, 1);
for(int I = 0; i lta. length; i)
system . out . imprimir(A[I] " ");
}
}