Autor Tema: Sort Array in Java [Help]  (Leído 12834 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado JGuillen™

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3449
  • PHP,C#,MySQL,SQL
Sort Array in Java [Help]
« : septiembre 17, 2008, 04:02:42 pm »
Alguien puede ayudarme o darme algun tips de como puedo ordenar un array bidimensional???  :big_boss:


Como a si?? digamos q tengo el siguiente array?

0=>Balon, Aguila, Coco;
1=>Casa, Bota, Ave;

Entonces q haya alguna funcion para ordenarlos de tal manera q quede a si...

0=>Aguila, Bote, Coco;
1=>Ave,Bota,Casa;

Se que en Java hay una funcion Arrays.sort(Array) pero solo funciona con arrays unidimensionales... mientras q si lo hago con un bidimensional me da error...????


De antemano graxias..!  :thumbsup:

Desconectado Camus de Acuario

  • The Communiter-
  • *
  • Mensajes: 8455
  • Ōrora Ekusukyūshon!
Re: Sort Array in Java [Help]
« Respuesta #1 : septiembre 17, 2008, 04:14:49 pm »
por si tienes un array con esta estructura:

Código: [Seleccionar]
row | col. 1 | col. 2
---------------------
 0  |   3    | Kevin
 1  |   3    | Alice
 2  |   2    | Steve
 3  |   1    | Adam
 4  |   2    | Sammy

y el codigo de inicializacion es algo asi:

Código: [Seleccionar]
var array = new Array();

array[0] = new Array ( 3, "Kevin" );
array[1] = new Array ( 3, "Alice" );
array[2] = new Array ( 2, "Steve" );
array[3] = new Array ( 1, "Adam"  );
array[4] = new Array ( 2, "Sammy" );

el sort array deberia ser asi:

Código: [Seleccionar]
1,Adam
2,Sammy
2,Steve
3,Alice
3,Kevin

las funciones serian algo asi

Código: [Seleccionar]
function compare ( array, left, right ) {

    var depth = 0;

   
while ( depth < array[left].length && depth < array[right].length ) {


if ( array[left][depth] < array[right][depth] )
    return 1;
else if ( array[left][depth] > array[right][depth] )
    return -1;

depth++;    

    }

    return 0;

}


function qsort ( array, lo, hi ) {

  var low  = lo;
  var high = hi;
  mid = Math.floor( (low+high)/2 );

  do {
    while ( compare(array, low,  mid) > 0 )
      low++;

    while ( compare(array, high, mid) < 0 )
      high--;

    if ( low <= high ) {
      swap( array, low, high );
      low++;
      high--;
    }

  } while ( low <= high );

  if ( high > lo )
    qsort( array, lo, high );

  if ( low < hi )
    qsort( array, low, hi );

}

function swap ( a, i, j ) {

  var tmp = a[i];
  a[i] = a[j];
  a[j] = tmp;

}


var array = new Array();

array[0] = new Array ( 3, "Kevin" );
array[1] = new Array ( 3, "Alice" );
array[2] = new Array ( 2, "Steve" );
array[3] = new Array ( 1, "Adam"  );
array[4] = new Array ( 2, "Sammy" );

qsort ( array, 0, array.length-1 );

espero te sirva amigo

Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: Sort Array in Java [Help]
« Respuesta #2 : septiembre 17, 2008, 04:43:49 pm »
mira no tengo java a la mano ahorita pero esa funcion sort que decis si acepta un arreglo tenes que probar mandandole tu array bidimensional por filas algo asi como

sort(array[0]) y luego sort(array[1])

probalo y nos contas  :thumbsup:

Desconectado JGuillen™

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3449
  • PHP,C#,MySQL,SQL
Re: Sort Array in Java [Help]
« Respuesta #3 : septiembre 17, 2008, 04:53:57 pm »
mira no tengo java a la mano ahorita pero esa funcion sort que decis si acepta un arreglo tenes que probar mandandole tu array bidimensional por filas algo asi como

sort(array[0]) y luego sort(array[1])

probalo y nos contas  :thumbsup:

Mira lo acabo de hacer y el error q me da es este...

Exception in thread "main" java.lang.NullPointerException at Arreglos.main(Arreglos.java:142)


Camus de Acuario

Graxias tambien por tu ayuda.. fijate q lo intente pero neles da error.. ademas ese code es para Javascript segun vi en la web....  :big_boss:

Desconectado vlad

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 6351
    • Qualium.net
Re: Sort Array in Java [Help]
« Respuesta #4 : septiembre 17, 2008, 05:04:30 pm »
Creo que esto te sirve: www.jguru.com

Igual no tengo java a la mano.


Aqui esta explicado el QuickSort de Camus:
Código: [Seleccionar]
http://www.webxpertz.net/forums/showthread.php?t=11030
« Última Modificación: septiembre 17, 2008, 05:48:34 pm por Vlad »

Desconectado motul

  • Sv Jr.
  • **
  • Mensajes: 90
  • Dark Clouds In A Perfect Sky
Re: Sort Array in Java [Help]
« Respuesta #5 : octubre 01, 2008, 04:32:23 pm »
algo asi keria hace en una clase la semana pasada pero no pude voy a probar como lo dice el otro comuniter de arriba

pd.. siempre se encuentran cosas de utilidad aki!
Economicemos el Agua... Tomemos Cerveza
MOTUL!!!
HP AMD PHEMON X3 - 4GBS RAM CRUCIAL TRACER 800MHZ - HD3850 - 600GBS HDD - HP LCD 22" WIDE
mi nave mazda protege... 2.0 doch... lista para bramar