Clonar cola

Iniciado por sur58, 6 Diciembre 2014, 19:22 PM

0 Miembros y 1 Visitante están viendo este tema.

sur58

Muy buenas...

Como parte de un trabajo en la universidad, piden un código para clonar una cola en una cola nueva. He escrito el código que adjunto, pero da error porqué el valor de aux->next es siempre NULL.

void queue_clone(tWordsQueue *dst, tWordsQueue *src) {
   
      
tWordsQueueNode* aux;

      strcpy(aux->element,src->head->element);
      
      while (aux!=NULL){
               queue_enqueue(dst, aux->element); //Esta parte funciona correctamente en la primera pasada del while...
            aux= aux->next; // Como aux->next es siempre NULL, en la segunda pasada del while, da error en queue_enqueue...
            }
            
   

}

Alguna ayuda sobre lo que estoy haciendo mal?

Muchas gracias

ivancea96

En primer lugar, para postear código, utiliza als etiquetas GeSHi del panel de mensaje.


aux (dentro de lo que muestras), es un puntero a una estructura o clase. En caso de C, tienes que  pedir memoria mediante el uso de malloc ->
estructura *var = malloc(sizeof(estructura));

En caso de C++, utilizarías el operador new ->
Código (cpp) [Seleccionar]
estructura *var = new estructura();

sur58

Muchas gracias por tu ayuda..

Un cordial saludo,

P.D.: Tomo nota de las etiquetas GeSHi para próximos mensajes