Ordenar las cadenas de entrada según el 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.
Cadena[] temp = nueva cadena [a . longitud+1];
int[]c = nueva int[k+1]; i,j;
for(I = 0;i<= k;i++)
c[I]= 0;
for(j = 0; j & ltb .length; j++) {
c[B[j]-' a ']= c[B[j]-' a ']+1;
}
for(I = 1;i& lt= k;i++)
c[I]= c[I]+c[I-1];
p>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<= A.length;i++) {
a[I-1]= temp[I];
}
} p>
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; i & lta . length; i++) {
int temperatura = 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 recuento = 0;
for(int I = 0;i<26;i++) {
if(arr[i]!= nulo) {
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(list . size()>1) {
for(int I = 1;i<list .size();i++) {
if (comparar con((String)list. get(I), (String)list. get(I-1))<0) {
String temp =(String)list get(I). ;
int j = I-1;
for(; j & gt= 0 & amp& ampcompareTo(temp, (String)list . get(j)) <0; j -)
list.set(j + 1, lista . get(j));
list.set(j + 1, temp
}
}
}
}
Int compareto (cadena a, cadena b){// Compara el tamaño de dos instrumentos de cuerda.
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[i] = A[i]. 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;i<b.length;i++) {
if(B[I]& gt ;max )max = B[I];
}
Devolver max
}
Principal vacío estático público (String[] args) {
CompareString cs = new CompareString();
String[] A = {"Apple", "Hola", "Estimado", "Soleado", " "Día", "Feliz"};
cs.radixSort(A, 1);
for(int I = 0; i & lta. length; i++)
sistema . imprimir(A[I]+" ");
}
}