Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

Ordenar eliminando duplicados

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Intermedio
Mensaje Lun Oct 23, 2006 2:48 am
pbellon
Perlero Nuevo
Perlero Nuevo
Registrado: 22 Oct 2004
Mensajes: 33
Ordenar eliminando duplicados Responder citando

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
Cool
Mensaje Lun Oct 23, 2006 3:54 am
macgregor
Perlero Frecuente
Perlero Frecuente
Registrado: 09 Dic 2004
Mensajes: 117
Ubicación: españa
Responder citando

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.
Mensaje Lun Oct 23, 2006 5:57 am
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4082
Ubicación: Valladolid, España
Responder citando

La pregunta de pbellon es tan común Wink que está en la faq4.
Publicar nuevo tema   Responder al tema    Foros de discusión -> Intermedio Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group