Red de conocimiento informático - Aprendizaje de código fuente - Problema de estructura de datos Diseñe un algoritmo que requiera el uso de una estructura de pila para invertir una lista enlazada individualmente con un nodo principal.

Por favor escribe un programa completo.

Problema de estructura de datos Diseñe un algoritmo que requiera el uso de una estructura de pila para invertir una lista enlazada individualmente con un nodo principal.

Por favor escribe un programa completo.

#include lt; stdio.hgt;

#include lt; stdlib.hgt;

#include tiempo.hgt; /p>

int data;

struct Node * next;

}Node, * LinkList; void ListReverse(LinkList L)

{

Nodo *p, *q;

p=L-gt;

L-gt; siguiente =NULL; (p)

{

q=p-gt; siguiente;

p-gt; siguiente=L-gt; //interpolación de encabezado

L-gt; next=p;

p=q;

}

}/* Función inversa*/ void InitList( LinkList *L)

{

*L = (LinkList)malloc(sizeof(Node));

(*L)-gt next = NULL; ;

}void CreateListHead(LinkList L)//creación de interpolación de encabezado

{

Node *s; ;

srand((unsigned)time(NULL));

while(ilt;10)

{

s=( Lista de enlaces)malloc(tamañode(Nodo));

s-gt; data=rand()99

s-gt; p>

p>

L-gt; siguiente=s;

i

}

}void DestoryList(LinkList L)

{

Nodo * p; p = L-gt;

while(p)

{

L-gt ;siguiente = p-gt.siguiente;

libre(p);

p = L-gt;siguiente;

}

gratis(L);

}void TraverseList(LinkList L)//mostrar

{

Nodo * p;

p = L-gt; siguiente;

mientras(p)

{

printf("d ", p-gt; datos) ;

p = p-gt; siguiente;

}

printf("\n"); >

int main()

{

LinkList L

InitList(amp; L

CreateListHead(L);

TraverseList(L);

printf("Después de inverso:\n");

TraverseList(L); DestoryList(L); p>