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 originaltemplate <class T>
void lista<T>::ordena()
{
int i=0;
nodo<T> *p;
p=primero;
while(p!=NULL)
{
p = p->getSiguiente();
i++;
}
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.