• Lunes 23 de Diciembre de 2024, 12:35

Autor Tema:  Necito Un Favor  (Leído 1080 veces)

michel

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Necito Un Favor
« en: Domingo 18 de Noviembre de 2007, 00:08 »
0
TENGO ESTE CODIGO QUE ES PARA EL ORDENAMIENTO RADIX PERO NO SE SI ESTE BIEN NECESITO DE SU AYUDA PARA SABER SI ESTA BIEN .

LES PIDO DE FAVOR QUE ME AYUDEN






//Capturar
num=Integer.valueOf(JOptionPane.showInputDialog(this,"Cuantos números deseas ingresar? "));  
        if(final1!=num)
       final1=final1+1;    
     a[final1]=Integer.valueOf(JOptionPane.showInputDialog(this,"Introduce los números a ordenar"));
      if(final1==1){
         frente1=1;
        }

//Procedimiento
public void radix( int x[], int n )
int frente1[10], final1[10];

struc{
int info;
int next;
}

public int a=new int [10];
int exp, aux, i, j, k, p, q, y;

for(i=0; i < n-1; i++){
a.info=x;
a.next=i+1;
}

a[n-1].info=x[n-1];
a[n-1].next= -1;
aux=0;

for(k=1; k < 5 ;k++) {
for(i=0;i<10;i++){
final1= -1;
frente1=-1;
}

while(aux!= -1){
p=aux;
aux=a[aux].next;
y=a[p].info;
exp=pow(10,k-1);
j=(y/exp)%10;
q=final1[j];
if(q == -1)
frente[j]=p;
else{
a[q].next=p;
final1[j]=p;
 }
}

for(j=0; j < 10 && frente1[j]= -1; j++){
aux=frente1[j];
}
while(j<=9){
for(i=j+1; i < 10 && frente1= -1; i++){
if(i<=9){
p=i;
a[final1[ j ] ].next = frente1[ i ];
}
j=i;
}
a[final1[ p ] ].next = -1;
}
}
for(i=0; i < n; i++){
x= a[aux].info;
aux=a[aux].next;
}
}

// Ordenamiento

radix(x,n);
   JOptionPane.showMessageDialog(this,"Ordenamiento Radix: " + radix);