Resuelva un problema de programación: use una lista enlazada individualmente como estructura de almacenamiento y escriba un algoritmo para implementar la inversión de elementos en una lista lineal
#include
#include
nodo de estructura typedef
{ int data;
estructura nodo *next;
}sqlist;void disp1(sqlist *lq)
{ sqlist *t=lq;
mientras (t!=NULL)
{printf("%d ",t->datos);
t=t->siguiente;
}
}
void disp2(sqlist *lq)
{ sqlist *t=lq;
while(t->next!=NULL)
{printf("%d ",t->datos);
t=t->siguiente;
}
}
void main() p>
{ sqlist *lq,*q,*p,*r;
lq=(sqlist *)malloc(sizeof(sqlist));
lq-> next=NULL;
p=lq;
int x;
printf("Datos de entrada: ");
while( 1)
{
scanf("%d",&x);
if(x==0)break;
q=(sqlist *)malloc(sizeof(sqlist));
q->data=x;
p->next=q;
p =q;
}
p->siguiente=NULL;
disp1(lq->siguiente);
printf(" \n");
p=lq;q=p->siguiente;
while(q!=NULL)
{
r=q->siguiente;
q->siguiente=p;
p=q;q=r;
}
lq->next=NULL;
lq=p;
disp2(lq);
} Perdón por no hacerlo perfectamente
p>