• Publicidad

Lista de objetos ordenada

Así que programas sin strict y las expresiones regulares son otro modo de hablar. Aquí encontrarás respuestas de nivel avanzado, no recomendable para los débiles de corazón.

Lista de objetos ordenada

Notapor Vertik » 2011-05-18 09:38 @443

¡Hola a todos!

Tengo una consultilla :D Os la lanzo.

Tengo una lista de objetos como (1) y me gustaría ordenar esta lista según uno de sus atributos. ¿Hay alguna manera de redefiniar el compare o algo (como en Java) para que, dado dos objetos decir cuál iría antes, y usar el metodo sort() de los arrays de Perl?

(1)
Objeto:
-identificador
-origen (atributo que define el orden del array)
-final

¿O con la explicación que os he dado, tenéis algún método alternativo que no llevando uno la cuenta del array? No quiero implementar ningún quicksort ni una burbuja xD

¡Gracias!
Última edición por explorer el 2011-05-18 09:44 @447, editado 1 vez en total
Razón: Tildes, admiraciones e interrogaciones
Vertik
Perlero nuevo
Perlero nuevo
 
Mensajes: 41
Registrado: 2011-04-20 06:32 @314

Publicidad

Re: Lista de objetos ordenada

Notapor explorer » 2011-05-18 09:49 @451

Te vale con indicarle a sort() la función que quieres usar para realizar la operación.

La función debe devolver un valor mayor, menor, o igual a 0, al realizar la comparación entre los dos argumentos pasados a esa función, o usando las variables globales $a y $b.

Por ejemplo:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. @ordenado = sort { funcion_que_ordena() } @desordenado;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Más información en perldoc -f sort.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Avanzado

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 27 invitados