Comunidad de diseño web y desarrollo en internet online

Organizar por orden alfabético

Citar            
MensajeEscrito el 09 Nov 2005 01:37 pm
Buenas a tod@s,

Tengo un cuadro de texto dinámico donde se carga un listado de nombres recogidos de un xml, dichos nombres salen ordenados por antiguedad, el primero es el último registro y el ultimo es el primer registro. Mi pregunta es: ¿Como puedo hacer que me salgan ordenados alfabeticamente?

Código :


datos_agenda.load("agenda.xml");


MIL GRACIAS

Por bluenet

100 de clabLevel



Genero:Masculino  

Sevilla

msie
Citar            
MensajeEscrito el 09 Nov 2005 01:42 pm
Lo unico que se me ocurre es que metas todos esos nombres en un array mediante uso de cadenas y un bucle y luego vuelques el array ya ordenado alfabeticamente en el campo de texto.
Esa es la mecanica, a ver si alguien te puede dar algun codigo en concreto o investiga acerca de esto ;)

Suerte!

Por frenadoll

922 de clabLevel

6 tutoriales

Genero:Masculino  

Barcelona

firefox
Citar            
MensajeEscrito el 09 Nov 2005 02:52 pm
complementando: utiliza el recontra clasico ordenamiento burbuja

for (i=1; i<TAM; i++){
for j=0 ; j<TAM - 1; j++){
if (lista[j] > lista[j+1]){
temp = lista[j];
lista[j] = lista[j+1];
lista[j+1] = temp;
}
}
}

donde TAM es el nro de arreglos y temp es una variable temporal que captura los datos de uno de los array.

Por pinocho

78 de clabLevel



Genero:Masculino  

Luna City

firefox
Citar            
MensajeEscrito el 09 Nov 2005 03:34 pm
Puedes usar el método sort() o sortOn() de la clase Array, o una inserción ordenada.

A ver si te sirve este código, 100% mejorable( como dice Maikel :wink: ), porque lo he modificado ahora para adaptarlo a lo q necesitas, yo lo tenia hecho para busquedas:

Código :

function insertarOrdenado( vector:Array, nuevo:String ):Number {
   var posicion:Number, 
      izquierda:Number, 
      derecha:Number, 
      elementoActual:String, 
      listaDatos:Array;

   if( Array( vector ) == null ) throw new Error( "Vector no válido" );
   if( String( nuevo ) == null ) throw new Error( "Cadena no válida" );

   izquierda = 0;
   derecha = vector.length - 1;
   posicion = Math.floor( ( izquierda + derecha ) / 2 );
   elementoActual = vector[posicion]; 
   while( ( elementoActual != nuevo ) && ( izquierda < derecha ) ) {
      if ( elementoActual > nuevo )
         derecha = posicion - 1;
      else 
         izquierda = posicion + 1;

      posicion = Math.floor( ( izquierda + derecha ) / 2 );
      elementoActual = vector[posicion];
   }

   if( elementoActual < nuevo ) posicion++;   
   vector.splice( posicion, 0, elementoActual );
      
   return posicion;
}


^^ ruuuuuuuuuuuu

Por Gengis

27 de clabLevel



 

Córdoba(España)

firefox
Citar            
MensajeEscrito el 10 Nov 2005 10:35 pm
puedes utilizar cualquier metodo de ordenacion, aunque seria algo un poco mas complicado porque yo implemente una ordenacion alfabetica en una aplicacion y en caso de que tengas nombres que inicien con la misma letra necesitas utilizar condiciones dinamicas que te permitan revisar mas a fondo los nombres a menos que quieras algo sencillo y solo necesites ordenas por orden alfabetico de la primer letra, bueno y lo mas facil para mi seria pasar todos tus datos a un array y si implementar algun metodo de ordenacion, burbuja, seleccion directa, son solo dos ejemplos, pero son faciles de implementar

un buen programador escribe, un exelente programador re-escribe

Por Marmota-foo

23 de clabLevel



Genero:Masculino  

mexico...especificamente desde la roka

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.