Hay una parte en ese troso de codigo que cuando lo depuro me lo salta y por ningun motivo entra cuando deberia ser asi segun yo es en la parte del segundo ifif(*u2 && ((*u2)->valor != nuevo->valor)) alguien tiene una idea del por que.
Aclaro que pNodo *p1 es un puntero que recibe una direccion de otro puntero.
Estoy usando estructuras.
Código C:
Ver originalvoid Anadir(pNodo *p1, pNodo *u1,pNodo *p2, pNodo *u2, int v) {
pNodo nuevo;
int dato1,dato2;
/* Crear un nodo nuevo */
nuevo
= (pNodo
)malloc(sizeof(tipoNodo
)); nuevo->valor = v;
/* Este será el último nodo, no debe tener siguiente */
nuevo->siguiente = NULL;
/* Si la cola no estaba vacía, añadimos el nuevo a continuación de ultimo */
if(*u1){
(*u1)->siguiente = nuevo;}
if(*u2 && ((*u2)->valor != nuevo->valor))
{(*u2)->siguiente = nuevo;
*u2 = nuevo; }
/* Ahora, el último elemento de la cola es el nuevo nodo */
*u1 = nuevo;
/* Si primero es NULL, la cola estaba vacía, ahora primero apuntará también al nuevo nodo */
if(!*p1)
{
*p1 = nuevo;
*p2 = nuevo;
}
}