poemas de amor ESTRUCTURA DE DATOS: "Ordenamiento Radix"

sábado, 2 de enero de 2010

"Ordenamiento Radix"

Radix significa residuo


Este ordenamiento se basa en los valores de los dígitos reales en las representaciones de posiciones de los números que se ordenan.
Por ejemplo el número 235 se escribe 2 en la posición de centenas, un 3 en la posición de decenas y un 5 en la posición de unidades.
Reglas para ordenar.
Empezar en el dígito más significativo y avanzar por los dígitos menos significativos mientras coinciden los dígitos correspondientes en los dos números.
El número con el dígito más grande en la primera posición en la cual los dígitos de los dos números no coinciden es el mayor de los dos (por supuesto sí coinciden todos los dígitos de ambos números, son iguales).
Este mismo principio se toma para Radix Sort, para visualizar esto mejor tenemos el siguiente ejemplo. En el ejemplo anterior se ordeno de izquierda a derecha. Ahora vamos a ordenar de derecha a izquierda.
Archivo original.
25 57 48 37 12 92 86 33


Asignamos colas basadas en el dígito menos significativo.
Parte delantera Parte posterior



0
1
2 12 92
3 33
4
5 25
6 86
7 57 37
8 48
9
10



Después de la primera pasada:
12 92 33 25 86 57 37 48



Colas basadas en el dígito más significativo.



Parte delantera Parte posterior



0
1 12
2 25
3 33 37
4 48
5 57
6
7
8 86
9 92
10


Archivo ordenado: 12 25 33 37 48 57 86 92


Acontinuacion un ejemplo con mil datos flotantes....

public class RadixSort{

public static void radixSort(int[] arr){
if(arr.length == 0)
return;
int[][] np = new int[arr.length][2];
int[] q = new int[0x100];
int i,j,k,l,f = 0;
for(k=0;k<4;k++){ i="0;i<(np.length-1);i++)" i="0;i" f="i=" j =" ((0xFF<<(k<<3))&arr[i])">>(k<<3); l =" q[j]" l =" q[j];" l =" np[l][1];" l =" np[l][1];" f =" np[f][1];" l="q[i=" j="0];i<0x100;i++)" l="q[i];l!=" l="np[l][1])" arr =" {
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.
1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.
6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.
1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.
6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.
1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.
6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.
1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.
6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.
1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.
6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.
1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.
6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.
1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.
6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.
1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.
6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.
1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.
6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.
1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.
6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.
1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.
6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.
1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.
6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.
1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.
6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.
1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.
6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.
1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.
6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.
1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.
6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.
1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.
6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.
6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,
678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,4.5,7.7,6.89,8.7,9.56,57.45,78.5,97.8,4.6,56.6,
10.2,23.53,1.8,2.3,3.2,4.5,5.39,6.9,7.9,6.7,8.1,678.3,57.3,4.6,3.56,5.56,3.4,5.67,89.6,67.8,9.6,
System.out.print("original: ");
for(i=0;i System.out.print(arr[i] + " ");
}

System.out.print("\nsorted: ");
for(i=0;i System.out.print(arr[i] + " ");
System.out.println("\nDone ;-)");
}
}











Radix sort en enteros






La ordenación resultante es estable:









El siguiente ejemplo se ejecuto con datos enteros



public class RadixSort{

public static void radixSort(int[] arr){
if(arr.length == 0)
return;
int[][] np = new int[arr.length][2];
int[] q = new int[0x100];
int i,j,k,l,f = 0;
for(k=0;k<4;k++){ i="0;i<(np.length-1);i++)" i="0;i" f="i=" j =" ((0xFF<<(k<<3))&arr[i])">>(k<<3); l =" q[j]" l =" q[j];" l =" np[l][1];" l =" np[l][1];" f =" np[f][1];" l="q[i=" j="0];i<0x100;i++)" l="q[i];l!=" l="np[l][1])" arr =" {">


System.out.print("original: ");
for(i=0;i System.out.print(arr[i] + " ");
}
radixSort(arr);
System.out.print("\nsorted: ");
for(i=0;i System.out.print(arr[i] + " ");
System.out.println("\nDone ;-)");
}
}


No hay comentarios:

Publicar un comentario