Está en la página 1de 5

Instituto Tecnolgico de Orizaba

Estructura de Datos

Rossana Trejo Pacheco

Mtodo de ordenamiento Radix

Presentan: Arias Vsquez Javier Baizabal Gonzlez Marco Antonio Delgado Tllez Cesar de Jess Galindo Lpez Eder

22 de Noviembre de 2011

CODIGO import javax.swing.*; public class Radix { public static void main(String args[]){ int numeros[] = {78,23,45,12,13,24,14,67,90,34,56,87,97,67}; int ordenados[][]= new int [10][numeros.length]; for(int i=0;i<numeros.length;i++) System.out.print(numeros[i]+" "); int digito=1; for (int tamano=1; tamano<=2; tamano++){ for (int i=0; i<numeros.length; i++){ String tmp=String.valueOf(numeros[i]); int d=Integer.valueOf("0"+tmp.charAt(digito)); int n=ordenados[d][0]; ordenados[d][n+1]=numeros[i]; ordenados[d][0]++; } int k=0; for (int i=0; i<10; i++){ if (ordenados[i][0]!=0) { for (int j=1; j<=ordenados[i][0]; j++ ){ numeros[k]=ordenados[i][j]; k++; }}} for (int i=0; i<10; i++) { for (int j=0; j<10; j++) ordenados[i][j]=0;

} digito--; } System.out.println(" "); for(int i=0;i<numeros.length;i++) System.out.print(numeros[i]+" "); } }

ALGORITMO 1.- Inicializamos el vector con los nmeros a ordenar Y la matriz donde vamos a realizar la evaluacin para el ordenamiento Radix int numeros[] = {78,23,45,12,13,24,14,67,90,34,56,87,97,67}; int ordenados[][]= new int [10][numeros.length]; 2.- Realizamos un ciclo desde i=0 ,i la vamos aumentando, mientras i sea menor a el tamao del vector de los nmeros (desordenados), realizando la impresin de cada uno de los nmeros del vector para mostrar a el usuario los nmeros en desorden (como estn originalmente). 3.- Inicializamos una variable llamada digito con valor 1 4.-Realizamos un ciclo con la variable llamada tamao con valor =1, la vamos aumentando, mientras la variable tamao sea menor o igual a 2 . 5.-Realizamos un ciclo anidado al anterior con la variable llamada i con valor=0, la vamos aumentando, mientras el valor de i sea menor que el tamao del vector de los nmeros en desorden. Realizando las siguientes acciones en este ltimo ciclo -Convirtiendo a cadena el elemento que se encuentra en el vector -Aumentndole un cero a la cantidad -Colocarlo en la matriz de ordenados de acuerdo a el digito menos significativo 6.-Inicializamos una variable k con valor igual a cero 7.-Realizamos un ciclo con la variable i con valor de 0, mientras sea menor que 10 , la vamos aumentando 8.-Preguntamos si lo que tenemos en la matriz de ordenados es diferente de cero , si la respuesta es si, creamos un ciclo con la variable j con valor igual a 1, mientras sea menor o igual a el valor de la matriz de ordenados, la vamos aumentando, y vamos colocando en el vector lo que tenemos en la matriz de ordenados y aumentamos la variable k. 9.-Realizamos un ciclo con la variable i con valor inicial de 0, mientras sea menor que 10, la vamos aumentando 10.-Realizamos un ciclo anidado con la variable j=0; mientras j sea menor que 10; la vamos aumentando, y dentro del ciclo vamos un 0 en la matriz 11.-Disminuimos en 1 el valor de digito

12.-Realizamos un ciclo con la variable i con valor de 0 ; mientras sea menor que la longitud del vector (nmeros) ; vamos aumentando el valor de i, y vamos a ir imprimiendo los nmeros concatenndolos y dejando un espacio para que se distingan bien. 13.- Fin del Programa

También podría gustarte