Implementación en lenguaje C de salida inversa usando listas enlazadas
#include
#include?
{?LNode
{?int?data; struct?*Linklist;
//Crear una lista de enlaces
Linklist?create()
{?int?i ,n;?//i se usa para el siguiente bucle, n se usa para almacenar el número de palabras de nodos válidos Linklist?p,L; printf("Por favor?input?N?="); ",&n); L=?(Linklist)malloc(sizeof(LNode));?//?Asigne un nodo principal que no almacene datos válidos L->next=NULL; for(i?=?0;?i ?
scanf("%d",&p->data); //ingresar valores de elementos
p->next?=?L->next;
L->next? =?p } return?L;?// Volver a ¿el nodo principal?
}
/// ¿Invertir la salida de la lista enlazada?
Linklist?ReverseList(Linklist?L,int?st)//Datos del nodo de salida cuando st es 1
{?if(L->next!=?NULL)
p>ReverseList(L->siguiente,1); if( st)printf("%d?",?L->retorno?L;
}
);void?put(Lista de enlaces?L)
{?Lista de enlaces?p; p?=?L->siguiente; while(p?! =?NULL) {?printf("%d ? ",?p->datos);
p?=?p->siguiente; } printf("\n");
}
int ?main()
{?Lista de enlaces?L; L=create(); printf("A:?") ;put(L); printf("B:?") ; 0);/Los nodos adicionales no contienen datos, por lo que el segundo argumento es 0 return?;
}