Cómo invertir la tabla lineal (a1,a2,... ,an) a (an,an-1,... ,a1).
int main()
{
typedef struct Lnod
{
int data;
struct Lnod *next;
}Lnod,*Lista de enlaces;
Lista de enlaces p,m,n,r,L,a,b ;
int i;
L=(Lista de enlaces)malloc(sizeof(Lnod)*5);
if(!L)exit(0);
L-& gt;next=NULL;
for(i=0;i<5;i++)
{
p=(Lista de enlaces)malloc(sizeof(Lnod));
if(!p)exit(0);
scanf("%d",& ;p->data );
p->siguiente=L->siguiente;
L->siguiente=p;
}
a= L->next;
printf("Los elementos en la tabla encadenada original son:\n");
while(a)
{
printf("%d, ",a->datos);
a=a->siguiente;
}
printf(" \n");
m=L->siguiente;
n=m->siguiente;
while(n->siguiente)
{
r=n->siguiente;
n->siguiente=m;
m=n;
n=r;
}
n->siguiente=m;
L->siguiente->siguiente=NULL;
L->next=n;
b=L->next;
printf("Los elementos en la lista vinculada después de revertir\n\n son:\n")
mientras(b)
{
printf("%d, ",b->datos);
b=b->siguiente;
}
printf("\n");
devuelve 0;
}