• Publicidad

Ordenar eliminando duplicados

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Ordenar eliminando duplicados

Notapor pbellon » 2006-10-23 03:48 @200

Hola,

¿cómo se puede, usando la función sort, ordenar eliminando duplicados?

Ej.:
@a = (1,4,2,2,6,7,7,8,1,3);

que muestre 1,2,3,4,6,7,8

Saludos
8)
pbellon
Perlero nuevo
Perlero nuevo
 
Mensajes: 36
Registrado: 2004-10-22 06:48 @325

Publicidad

Notapor macgregor » 2006-10-23 04:54 @246

Hola.

Creo que en este ejemplo que pones, la forma más fácil de eliminar duplicados és metiendo tu vector @a en un hash %a.

Recorre tu vector y pon cada elemento como clave del hash, en cuanto al valor de esa clave puedes no poner nada o utilizar un contador para saber cuántas veces está duplicado cada elemento.
De esta manera cuando termines de recorrer el vector tendrás un hash cuyas claves són los elementos de tu vector original sin repeticiones.

Sólo tendrás que recorrer las claves de tu hash y volcarlas en un vector.
Si recorres el hash utilizando la función sort tu vector estará ordenado.

No he puesto nada de código, ya que entiendo que tu intención es practicar para aprender, o resolver una tarea académica.

Si tienes alguna dificultad con algo de código te ayudaré encantado.

Un saludo.
MACGREGOR [TM]
Avatar de Usuario
macgregor
Perlero nuevo
Perlero nuevo
 
Mensajes: 80
Registrado: 2004-12-09 07:32 @355
Ubicación: españa

Notapor explorer » 2006-10-23 06:57 @331

La pregunta de pbellon es tan común ;-) que está en la faq4.
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 Intermedio

¿Quién está conectado?

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

cron