Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/04/2014, 10:47
zaico77
 
Fecha de Ingreso: febrero-2014
Mensajes: 12
Antigüedad: 11 años, 1 mes
Puntos: 0
Como ordenar una listas ligada simple POO c++

Hola bueno mi problema es que tengo una lista ligada simple en c++ y orientado a objetos, en esta lista estoy guardando dentro de los nodos objetos de otra clase y mi duda es como ordenar esos nodos, ya se que no se pueden mover como un arreglo y que los métodos de ordenación trabajan por medio de arreglos.
Con el método que ordenaría seria con quicksort, y lo que tengo entendido es que primero creo un arreglo de tamaño de la cantidad de mis nodos poniendo un código como este:

Código C++:
Ver original
  1. template <class T>
  2. void lista<T>::ordena()
  3. {
  4.    int i=0;
  5.     nodo<T> *p;
  6.     p=primero;
  7.     while(p!=NULL)
  8.     {
  9.         p = p->getSiguiente();
  10.         i++;
  11.     }
Código para contar los nodos y después continuar con el ordenamiento...

después tengo que crear el arreglo de la cantidad de nodos, el problema empieza aquí ya que no se que tipo de arreglo debo crear y como meter los nodos dentro de, luego tendría que ordenar este arreglo con el quicksort y finalmente religar cada nodo y esto es lo que no se como hacer. Estoy trabajando con template.

Los objetos de la clase que estoy insertando en la lista tienen solo 2 atributos, nombre y dirección, entonces cuando quiera ordenar tendría que ordenar por nombre.

Agradecería mucho si me pudieran echar la mano.