Red de conocimiento informático - Material del sitio web - Cómo invertir la tabla lineal (a1,a2,... ,an) a (an,an-1,... ,a1).

Cómo invertir la tabla lineal (a1,a2,... ,an) a (an,an-1,... ,a1).

#include

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;

}