poemas de amor ESTRUCTURA DE DATOS: enero 2010

martes, 19 de enero de 2010

....:::Descarga NetBeans:::...


China no cede ante Google

Google debe obedecer las leyes y tradiciones de China, dijo Beijing el martes, en un indicio de que las autoridades no cederán en las negociaciones poco después que el gigante de la internet amenazase con sacar sus operaciones del país si el gobierno no relaja las restricciones en la red.
Los comentarios del portavoz de la cancillería Ma Zhaoxu son los primeros de Beijing que se refieren directamente a Google Inc. desde que la compañía dijera que cerrará sus operaciones en China a causa de la censura e intrusiones en su servicio de correo electrónico.
''Las empresas extranjeras en China tienen que adherirse a las leyes y regulaciones de China, respetar los intereses de la ciudadanía en general y las tradiciones culturales y compartirlas responsabilidades sociales. Google no es la excepción'', dijo Ma.
En tanto, en un anuncio que amenaza con escalar la situación, Google dijo el martes que aplazó el planeado lanzamiento de su teléfono celular en China.
''Está aplazado'', dijo la portavoz de Google Inc. Marsha Wang. Explicó que la ceremonia de lanzamiento, planeada para el miércoles, fue cancelada, pero no dio razón alguna para la decisión ni dijo cuándo pudiera ser programado el lanzamiento.
Google anunció el 12 de enero que pudiera retirarse del enorme mercado chino, sacudiendo a la comunidad empresarial internacional y alentando a muchos defensores de la libertad de expresión.
El gobierno chino impone severas restricciones y controles en internet en un esfuerzo por mantener su control del poder. Beijing bloquea el acceso a sitios extranjeros mantenidos por activistas de derechos humanos y disidentes, así como a lugares con material considerado subversivo o pornográfico.
Google dijo la semana pasada que esperaba poder convencer a las autoridades chinas para que aceptasen cambios que permitirían a Google mostrar resultados de búsquedas no censurados. Si no se logra un acuerdo en las próximas semanas, la compañía planea cerrar sus operaciones en China y retirarse.


El universal

"Manual Java"



Manual java
Link
!

"Diagrama de clases del Shell Sort"


"Diagrama de Clases del Radix Sort"


"Diagrama de clases del Quick Sort"


Mezcla natural e intercalacion

INTERCALACIÓN DE ARCHIVOS
Por intercalación de archivos se entienden la unión o fusión de dos o más archivos, ordenados de acuerdo con un determinado campo clave, en un solo archivo.

ORDENACIÓN DE ARCHIVOS
La ordenación de archivos se lleva a cabo cuando el volumen de los datos a tratar es demasiado grande y los mismos no caben en la memoria principal de la computadora.Al ocurrir esta situación no pueden aplicarse los métodos de ordenación interna, de modo que debe pensarse en otro tipo de algoritmos para ordenar datos almacenados en archivos.Por ordenación de archivos se entiende, entonces, la ordenación o clasificación de éstos, ascendente o descendentemente, de acuerdo con un campo determinado al que se denominará campo clave. La principal desventaja de esta ordenación es el tiempo de ejecución, debido a las sucesivas operaciones de entrada y salida.Los dos métodos de ordenación externa más importantes son los basados en la mezcla directa y en la mezcla equilibrada.

ORDENACIÓN POR MEZCLA DIRECTA
El método de ordenación por mezcla directa es probablemente el más utilizado por su fácil comprensión.La idea central de este algoritmo consiste en la realización sucesiva de una partición y una fusión que produce secuencias ordenadas de longitud cada vez mayor. En la primera pasada la participación es de longitud 1 y la fusión o mezcla produce secuencias ordenadas de longitud 4. Este proceso se repite hasta que la longitud de la secuencia para la partición sea mayor o igual que la longitud de la secuencia para la partición sea mayor o igual que el número de elementos del archivo original.

ORDENACION POR MEZCLA EQUILIBRADA
El método de ordenación por mezcla equilibrada, conocido también con el nombre de mezcla natural, es una optimización del método de mezcla directa.La idea central de este método consiste en realizar las particiones tomando secuencias ordenadas de máxima longitud en lugar de secuencias de tamaño fijo previamente determinadas. Luego realiza la fusión de las secuencias ordenadas, alternativamente sobre dos archivos aplicando estas acciones en forma repetida se lograra que el archivo original quede ordenado. Para la realización de este proceso de ordenación se necesitaran cuatro archivos. El archivo original F y tres archivos auxiliares a los que se denominaran F1, F2 y F3. De estos archivos, dos serán considerados de entrada y dos de salida; esto, alternativamente, con el objeto de realizar la fusión-partición. El proceso termina cuando en la realización de una fusión-partición el segundo archivo quede vacío.

INTERCALACIÓN SIMPLE
El método de ordenación por intercalación es utilizado por los jugadores de cartas o naipes para ordenar sus barajas. Consiste en mirar las cartas una a una y cuando se ve cada nueva carta se inserta en el lugar adecuado. Para desarrollar el algoritmo imaginemos que las cartas se encuentran situadas en una fila encima del tapete; a medida que se ve una carta nueva, ésta se compara con la fila y se debe empujar alguna de ellas a la derecha para dejar espacio e insertar la nueva.Consideremos un vector de n posiciones. Comencemos con el subíndice i en la segunda posición incrementando en 1, el elemento del subíndice del vector se elimina de la secuencia y se reinserta en el vector en la posición adecuada.

INTERCALACIÓN BINARIA
El algoritmo de ordenación por intercalación simple requiere una exploración o búsqueda secuencial para localizar la posición de un elemento en la sublista ordenada. Si en lugar de considerar una búsqueda secuencial se realizara una búsqueda binaria se mejoraría considerablemente el algoritmo y se aumentaría la velocidad de ejecución. Esta modificación se conoce como método de intercalación binaria.Este algoritmo utiliza la técnica de dividir y conquistar por lo tanto, divide el vector y toma un elemento pivote y compara contra él los elementos del vector dividido.

INTERCALACIÓN MERGE
Cuando se dispone de dos vectores ya ordenados y se desea obtener un tercer vector también ordenado, se puede realizar la ordenación con un método denominado Mezcla (Merge en ingles). Supongamos que A es un vector ordenado de m elementos y B es otro vector ordenado de n elemetos. La operación de mezcla producirá un nuevo vector de m + n elementos.El método más sencillo, pero menos eficaz, consiste en colocar una lista detrás de la otra y luego ordenarla. Sin embargo este método no aprovecha la propiedad de que los vectores A y B ya están ordenados, por ello debe recurrir normalmente al sistema de mezcla el cual cosiste en comparar los dos primeros elementos de los vectores (A y B) y enviar al menor al tercer vector, continuando con el elemento comparado pero no enviado con el siguiente elemento del vector que contiene al elemento menor comparado anteriormente y así sucesivamente. Una vez que se terminaron los elementos de un vector, se procede a vaciar los elementos restantes del otro vector.

jueves, 7 de enero de 2010

"Ordenamiento Arbol binario"

Un Árbol Binario es un conjunto de finito de Elementos, de nombre Nodos de forma que:
El Árbol Binario es Vació si no tiene ningún elemento en el.
El Árbol Binario contiene un Nodo Raíz y los dos que parten de él, llamados Nodo Izquierdo y Nodo Derecho.

Los Árboles tiene 3 Recorridos Diferentes los cuales son:
Pre-Orden
In-Orden
Post-Orden
Pre-Orden

Definición:

El Recorrido “Pre-Orden” lo recorre de la siguiente manera, viaje a través del Árbol Binario desplegando el Contenido en la Raíz, después viaje a través del Nodo Izquierdo y después a través del Nodo Derecho.

Detalle:
Temp toma el Valor de la Raíz y compara si el Árbol tiene algún Elemento, de otra manera Desplegara “Árbol Vació…” y terminara el método. Si el Árbol tiene elementos dentro de él, lo recorrerá y viajara a través de los Arreglos Izq y Der para determinar que valor meter en la Pila y en Temp para de esta manera imprimir el siguiente Elemento correspondiente.

El Recorrido “In-Orden” lo recorre de la siguiente manera, viaje a través del Árbol Binario desplegando el Contenido en el Nodo Izquierdo después la Raíz y finalmente viaja a través del Nodo Derecho.

Detalle:
Temp toma el Valor de la Raíz y compara si el Árbol tiene algún Elemento, de otra manera Desplegara “Árbol Vació…” y terminara el método. Si el Árbol tiene elementos dentro de él, lo recorrerá y viajara a través de los Arreglos Izq y Der para determinar que valor meter en la Pila y en Temp para de esta manera imprimir el siguiente Elemento correspondiente.



class NodoArbol{
NodoArbol li,ld;
int dato;

public NodoArbol(int d){
dato=d;
li=ld=null;
}

public synchronized void insertar(int d){

if(ddato){
if(ld==null){
ld=new NodoArbol(d);
}
else{
ld.insertar(d);
}
}

}//fin insertar

public int retornadato(){
return(dato);
}//end retornadato

}

public class Arbol {

private NodoArbol raiz;

public Arbol() {
raiz=null;
}
public NodoArbol retornaraiz(){
return(raiz);
}


public synchronized void insertarNodo(int d){
if(raiz==null){
raiz=new NodoArbol(d);
//primero=raiz;
}
else{
raiz.insertar(d);
}
}//fin insertarNodo

public synchronized String preorden(){
String pre=ayudantepreorden(raiz);
return(pre);
}

private String ayudantepreorden(NodoArbol nodo){
String cadena=new String();
if(nodo!=null){
//return;

//System.out.print(nodo.dato+" ");
cadena=cadena+String.valueOf(nodo.dato+" ");
cadena=cadena+ayudantepreorden(nodo.li);
cadena=cadena+ayudantepreorden(nodo.ld);
}
else{
cadena="";
}
return(cadena);
}

public synchronized String inorden(){
String inor=ayudanteinorden(raiz);
return(inor);
}

private String ayudanteinorden(NodoArbol nodo){
String cadena=new String();
if(nodo!=null){
// return;

cadena=cadena+ayudanteinorden(nodo.li);
cadena=cadena+nodo.dato+" ";
cadena=cadena+ayudanteinorden(nodo.ld);
}
else{cadena="";}
return(cadena);
}

public synchronized String posorden(){
String pos=ayudanteposorden(raiz);
return(pos);
}

private String ayudanteposorden(NodoArbol nodo){
String cadena=new String();
if(nodo!=null){



cadena=cadena+ayudanteposorden(nodo.li);
cadena=cadena+ayudanteposorden(nodo.ld);
cadena=cadena+nodo.dato+" ";
}
else{cadena="";}
return(cadena);
}

public synchronized int altura(NodoArbol R){
NodoArbol p=R;
int altizq=p.li==null ? 1:1+altura(p.li);
int altder=p.ld==null ? 1:1+altura(p.ld);
return(Math.max(altizq,altder));
}//end altura

public synchronized int hojas(NodoArbol R){
NodoArbol p=R;
int hojas=0;
if(p.li==null & p.ld==null){
hojas=1;
}
else{
if(p.li!=null){
hojas=hojas+hojas(p.li);
}
if(p.ld!=null){
hojas=hojas+hojas(p.ld);
}
}
return(hojas);
}//end hojas

public synchronized String ancestros(NodoArbol R,int d){
NodoArbol p=R;

String h=new String();

if (p.dato==d){
return(String.valueOf(" --> "+d));
}//end if

if (d>p.dato){
h=h+" --> "+p.dato+ancestros(p.ld,d);
}
else{
h=h+" --> "+p.dato+ancestros(p.li,d);
}
return(h);
}

}

sábado, 2 de enero de 2010

Chiste

Tipos de mujeres segun los ingenieros en sistemas

Mujer Virus: Cuando menos lo esperas, se instala en tu apartamento y va apoderándose de todos tus espacios. Si intentas desinstalarla, vas a perder muchas cosas; si no lo intentas, perdes todas.

Mujer Internet: Hay que pagar para tener acceso a ella.

Mujer Servidor: Siempre está ocupada cuando la necesitas.

Mujer Windows: Sabes que tiene muchos fallos, pero no podes vivir sin ella.

Mujer Macintosh: Preciosa, infalible y algo cara, no muy compatible con otras... y solo el 5% de los hombres saben la dicha de tenerla.

Mujer Powerpoint: Ideal para presentarla a la gente en fiestas, convenciones, etc.

Mujer Excel: Dicen que hace muchas cosas, pero vos tan solo la usas para la operación básica.

Mujer Word: Tiene siempre una sorpresa reservada para vos y no existe nadie en el mundo que le comprenda totalmente.

Mujer D.O.S.: Todos la tuvieron algún día, pero nadie la quiere ahora.

Mujer Backup: Tu crees que tiene lo suficiente, pero a la hora de "vamos a ver", le falta algo.

Mujer Scandisk: Sabemos que es buena y que sólo quiere ayudar, pero en el fondo nadie sabe lo que realmente está haciendo.

Mujer Screensaver: No sirve para nada, pero te divierte.

Mujer Paintbrush: Puro adobito y nada de sustancia.

Mujer RAM: Aquella que olvida todo apenas se desconecta.

Mujer Disco Duro: Se acuerda de todo, todo el tiempo.

Mujer Mouse: Funciona sólo cuando la arrastras.

Mujer Multimedia: Hace que todo parezca bonito.

Mujer Usuario: No hace nada bien y siempre esta haciendo preguntas.

Mujere E-Mail: De cada diez cosas que dice nueve son tonterías.

"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 ;-)");
}
}


Nuevos ordenadores

"Ordenamiento Shell Sort"


En el método de clasificación por inserción, cada elemento se compara con los elementos contiguos de su izquierda, uno tras otro. Si el elemento a insertar es más pequeño - por ejemplo -, hay que ejecutar muchas comparaciones antes de colocarlo en su lugar definitivamente. Shell modifico los saltos contiguos resultantes de las comparaciones por saltos de mayor tamaño y con eso se conseguía la clasificación más rápida. El método se basa en fijar el tamaño de los saltos constantes, pero de mas de una posición.

Supongamos un vector de elementos

4 12 16 24 36 3



En el método de inserción directa, los saltos se hacen de una posición en una posición y se necesitaran cinco comparaciones. En el método de Shell, si los saltos son de dos posiciones, se realizaran comparaciones.

4 12 16 24 36 3

El método se basa en tomar como salto N/2 (siendo N el numero de elementos) y luego reduciendo a la mitad en cada repetición hasta que el salto o distancia vale 1

Considerando la variable salto, se tendría para el caso de un determinado vector X los siguientes recorridos:

Vector X [X[1], X[3], …,X[N]]

Vector X1 [X[1], X[1] + salto, X[2], …]

Vector XN [salto1, salto2, salto3, …]

EJEMPLO :

Deducir las secuencias parciales de clasificación por el método de Shell para ordenar en ascendente la lista o vector.

6, 1, 5, 2, 3, 4, 0


Acontinuacion unu ejemplo del mismo y su imagen que muestra su resultado

Codigo con 1000 datos de tipo flotante

public class shellsort{

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++){
for(i=0;i<(np.length-1);i++)
np[i][1] = i+1;
np[i][1] = -1;
for(i=0;i q[i] = -1;
for(f=i=0;i j = ((0xFF<<(k<<3))&arr[i])>>(k<<3);
if(q[j] == -1)
l = q[j] = f;
else{
l = q[j];
while(np[l][1] != -1)
l = np[l][1];
np[l][1] = f;
l = np[l][1];
}
f = np[f][1];
np[l][0] = arr[i];
np[l][1] = -1;
}
for(l=q[i=j=0];i<0x100;i++)
for(l=q[i];l!=-1;l=np[l][1])
arr[j++] = np[l][0];
}
}

public static void main(String[] args){
int i;
double[] 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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,3.4,5.67,89.6,67.8,9};

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 ;-)");
}
}







Enseguida el mismo programa, pero con los datos de tipo enteros


public class shellsort{

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++){
for(i=0;i<(np.length-1);i++)
np[i][1] = i+1;
np[i][1] = -1;
for(i=0;i q[i] = -1;
for(f=i=0;i j = ((0xFF<<(k<<3))&arr[i])>>(k<<3);
if(q[j] == -1)
l = q[j] = f;
else{
l = q[j];
while(np[l][1] != -1)
l = np[l][1];
np[l][1] = f;
l = np[l][1];
}
f = np[f][1];
np[l][0] = arr[i];
np[l][1] = -1;
}
for(l=q[i=j=0];i<0x100;i++)
for(l=q[i];l!=-1;l=np[l][1])
arr[j++] = np[l][0];
}
}

public static void main(String[] args){
int i;
int [] arr = { 1212, 117, 839, 1382, 741, 1357, 1293, 899, 1202, 1227, 982, 1153,
15, 831 ,1202, 287, 417, 329, 674, 1375, 142, 1368, 1395, 1317, 810, 471, 288, 117, 1285,
1115, 572, 135, 494, 715, 581, 1225, 1221 ,85 ,119, 220, 140, 182, 1260, 129, 517, 1253, 679,
593 ,1424, 700, 361, 435, 349, 1496, 1156, 1207, 1561, 425, 529, 88, 1136, 163, 975, 1290,
910, 913, 504, 654, 1124, 204, 532 ,1317, 272, 423, 629, 1216, 747, 637, 1435, 847, 927, 1426, 1452, 1439,
148, 1516, 684, 530, 499, 1168, 1525, 1172, 1152, 601, 1549, 1313, 54, 321, 899, 1533, 318, 522, 38,
538, 612, 917, 1521, 344, 808, 174, 268, 672, 577, 1189, 858, 177, 686, 873, 1176, 1381, 1251 ,
17, 501, 723, 307, 235, 834, 863, 137,3, 599, 218, 799, 1281, 389, 767, 1451 ,1184, 187, 12, 1286,
1266, 1124, 899, 742, 859, 164, 209 ,633, 188, 689, 1225, 71, 497, 587, 993, 67, 986, 677 ,53 ,1423,
1398, 139, 53, 1524, 877, 894, 990, 298, 922, 886, 1468, 568, 911, 238, 490, 1257, 262, 387, 833,
389, 821 ,124, 277, 200, 957, 1111 ,1283, 1359, 1447, 602, 3, 59, 860, 109, 1102, 867 ,1338, 183, 1118,
39, 66, 662, 553, 981, 1173, 1231, 56, 811, 1117 ,240, 713, 1490, 279, 1391, 921 ,1044 ,1259, 383, 443,
141, 1222 ,372, 1484, 2375,45, 1482, 1097, 348, 1256, 140, 705 ,1294 ,273, 650, 797, 411, 1520, 15, 1168,1212, 117, 839, 1382, 741, 1357, 1293, 899, 1202, 1227, 982, 1153,
15, 831 ,1202, 287, 417, 329, 674, 1375, 142, 1368, 1395, 1317, 810, 471, 288, 117, 1285,
1115, 572, 135, 494, 715, 581, 1225, 1221 ,85 ,119, 220, 140, 182, 1260, 129, 517, 1253, 679,
593 ,1424, 700, 361, 435, 349, 1496, 1156, 1207, 1561, 425, 529, 88, 1136, 163, 975, 1290,
910, 913, 504, 654, 1124, 204, 532 ,1317, 272, 423, 629, 1216, 747, 637, 1435, 847, 927, 1426, 1452, 1439,
148, 1516, 684, 530, 499, 1168, 1525, 1172, 1152, 601, 1549, 1313, 54, 321, 899, 1533, 318, 522, 38,
538, 612, 917, 1521, 344, 808, 174, 268, 672, 577, 1189, 858, 177, 686, 873, 1176, 1381, 1251 ,
17, 501, 723, 307, 235, 834, 863, 137,3, 599, 218, 799, 1281, 389, 767, 1451 ,1184, 187, 12, 1286,
1266, 1124, 899, 742, 859, 164, 209 ,633, 188, 689, 1225, 71, 497, 587, 993, 67, 986, 677 ,53 ,1423,
1398, 139, 53, 1524, 877, 894, 990, 298, 922, 886, 1468, 568, 911, 238, 490, 1257, 262, 387, 833,
389, 821 ,124, 277, 200, 957, 1111 ,1283, 1359, 1447, 602, 3, 59, 860, 109, 1102, 867 ,1338, 183, 1118,
39, 66, 662, 553, 981, 1173, 1231, 56, 811, 1117 ,240, 713, 1490, 279, 1391, 921 ,1044 ,1259, 383, 443,
141, 1222 ,372, 1484, 2375,45, 1482, 1097, 348, 1256, 140, 705 ,1294 ,273, 650, 797, 411, 1520, 15, 1168,1212, 117, 839, 1382, 741, 1357, 1293, 899, 1202, 1227, 982, 1153,
15, 831 ,1202, 287, 417, 329, 674, 1375, 142, 1368, 1395, 1317, 810, 471, 288, 117, 1285,
1115, 572, 135, 494, 715, 581, 1225, 1221 ,85 ,119, 220, 140, 182, 1260, 129, 517, 1253, 679,
593 ,1424, 700, 361, 435, 349, 1496, 1156, 1207, 1561, 425, 529, 88, 1136, 163, 975, 1290,
910, 913, 504, 654, 1124, 204, 532 ,1317, 272, 423, 629, 1216, 747, 637, 1435, 847, 927, 1426, 1452, 1439,
148, 1516, 684, 530, 499, 1168, 1525, 1172, 1152, 601, 1549, 1313, 54, 321, 899, 1533, 318, 522, 38,
538, 612, 917, 1521, 344, 808, 174, 268, 672, 577, 1189, 858, 177, 686, 873, 1176, 1381, 1251 ,
17, 501, 723, 307, 235, 834, 863, 137,3, 599, 218, 799, 1281, 389, 767, 1451 ,1184, 187, 12, 1286,
1266, 1124, 899, 742, 859, 164, 209 ,633, 188, 689, 1225, 71, 497, 587, 993, 67, 986, 677 ,53 ,1423,
1398, 139, 53, 1524, 877, 894, 990, 298, 922, 886, 1468, 568, 911, 238, 490, 1257, 262, 387, 833,
389, 821 ,124, 277, 200, 957, 1111 ,1283, 1359, 1447, 602, 3, 59, 860, 109, 1102, 867 ,1338, 183, 1118,
39, 66, 662, 553, 981, 1173, 1231, 56, 811, 1117 ,240, 713, 1490, 279, 1391, 921 ,1044 ,1259, 383, 443,
141, 1222 ,372, 1484, 2375,45, 1482, 1097, 348, 1256, 140, 705 ,1294 ,273, 650, 797, 411, 1520, 15, 1168,1212, 117, 839, 1382, 741, 1357, 1293, 899, 1202, 1227, 982, 1153,
15, 831 ,1202, 287, 417, 329, 674, 1375, 142, 1368, 1395, 1317, 810, 471, 288, 117, 1285,
1115, 572, 135, 494, 715, 581, 1225, 1221 ,85 ,119, 220, 140, 182, 1260, 129, 517, 1253, 679,
593 ,1424, 700, 361, 435, 349, 1496, 1156, 1207, 1561, 425, 529, 88, 1136, 163, 975, 1290,
910, 913, 504, 654, 1124, 204, 532 ,1317, 272, 423, 629, 1216, 747, 637, 1435, 847, 927, 1426, 1452, 1439,
148, 1516, 684, 530, 499, 1168, 1525, 1172, 1152, 601, 1549, 1313, 54, 321, 899, 1533, 318, 522, 38,
538, 612, 917, 1521, 344, 808, 174, 268, 672, 577, 1189, 858, 177, 686, 873, 1176, 1381, 1251 ,
17, 501, 723, 307, 235, 834, 863, 137,3, 599, 218, 799, 1281, 389, 767, 1451 ,1184, 187, 12, 1286,
1266, 1124, 899, 742, 859, 164, 209 ,633, 188, 689, 1225, 71, 497, 587, 993, 67, 986, 677 ,53 ,1423,
1398, 139, 53, 1524, 877, 894, 990, 298, 922, 886, 1468, 568, 911, 238, 490, 1257, 262, 387, 833,
389, 821 ,124, 277, 200, 957, 1111 ,1283, 1359, 1447, 602, 3, 59, 860, 109, 1102, 867 ,1338, 183, 1118,
39, 66, 662, 553, 981, 1173, 1231, 56, 811, 1117 ,240, 713, 1490, 279, 1391, 921 ,1044 ,1259, 383, 443,
141, 1222 ,372, 1484, 2375,45, 1482, 1097, 348, 1256, 140, 705 ,1294 ,273, 650, 797, 411, 1520, 15, 1168,1212, 117, 839, 1382, 741, 1357, 1293, 899, 1202, 1227, 982, 1153,
15, 831 ,1202, 287, 417, 329, 674, 1375, 142, 1368, 1395, 1317, 810, 471, 288, 117, 1285,
1115, 572, 135, 494, 715, 581, 1225, 1221 ,85 ,119, 220, 140, 182, 1260, 129, 517, 1253, 679,
593 ,1424, 700, 361, 435, 349, 1496, 1156, 1207, 1561, 425, 529, 88, 1136, 163, 975, 1290,
910, 913, 504, 654, 1124, 204, 532 ,1317, 272, 423, 629, 1216, 747, 637, 1435, 847, 927, 1426, 1452, 1439,
148, 1516, 684, 530, 499, 1168, 1525, 1172, 1152, 601, 1549, 1313, 54, 321, 899, 1533, 318, 522, 38,
538, 612, 917, 1521, 344, 808, 174, 268, 672, 577, 1189, 858, 177, 686, 873, 1176, 1381, 1251 ,
17, 501, 723, 307, 235, 834, 863, 137,3, 599, 218, 799, 1281, 389, 767, 1451 ,1184, 187, 12, 1286,
1266, 1124, 899, 742, 859, 164, 209 ,633, 188, 689, 1225, 71, 497, 587, 993, 67, 986, 677 ,53 ,1423,
1398, 139, 53, 1524, 877, 894, 990, 298, 922, 886, 1468, 568, 911, 238, 490, 1257, 262, 387, 833,
389, 821 ,124, 277, 200, 957, 1111 ,1283, 1359, 1447, 602, 3, 59, 860, 109, 1102, 867 ,1338, 183, 1118,
39, 66, 662, 553, 981, 1173, 1231, 56, 811, 1117 ,240, 713, 1490, 279, 1391, 921 ,1044 ,1259, 383, 443,
141, 1222 ,372, 1484, 2375,45, 1482, 1097, 348, 1256, 140, 705 ,1294 ,273, 650, 797, 411, 1520, 15, 1168};

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 ;-)");
}
}