#include<stdio.h>
#include<stdlib.h>
typedef struct Nodo{
int Dato;
struct Nodo *Link;
}Nodo;
typedef Nodo *Lista;
void mostrar(Lista L)
{
Lista p;
p = L;
while(p != NULL)
{
printf("valor es %d\n",p->Dato);
p = p->Link;
}
}
void Insertar(Lista *L, int e)
{
Lista p,q,t;
p=(Lista) malloc(sizeof(Nodo));
p->Dato=e;
p->Link=NULL;
if(*L == NULL)
{
*L=p;
}
else
{
q=*L;
t=*L;
while(q != NULL)
{
if(q->Dato < e)
{
t=q;
q=q->Link;
if(q == NULL) // para el ultimo nodo
{
t->Link = p;
}
}
else
{
if(q == t) // para insertar al comienzo
{
p->Link=q;
*L=p;
q=NULL;
}
else
{ // entre medio
t->Link=p;
p->Link=q;
q=NULL;
}
}
}
}
}
void Intercambiar(Lista *L)
{
Lista p,q,t,s;
p = *L;
q = p->Link;
s = *L;
t = *L;
while(s->Link != NULL)
{
t = s;
s = s->Link;
}
p->Link = NULL;
s->Link = q;
t->Link = p;
*L = s;
}
int main()
{
Lista L;
int i, n, e;
L = NULL;
printf("Ingrese valor de N ");
scanf("%d",&n);
for(i=1; i<=n; i++)
{
printf("\n\nInsertando e\n");
printf("Ingrese valor de e ");
scanf("%d",&e);
Insertar(&L, e);
printf("Lista\n");
mostrar(L);
}
Intercambiar(&L);
printf("Lista\n");
mostrar(L);
system("pause");
}

Código:#include<stdio.h> #include<stdlib.h> typedef struct Nodo{ int Dato; struct Nodo *Link; }Nodo; typedef Nodo *Lista; void mostrar(Lista L) { Lista p; p = L; while(p != NULL) { printf("valor es %d\n",p->Dato); p = p->Link; } } void Insertar(Lista *L, int e) { Lista p,q,t; p=(Lista) malloc(sizeof(Nodo)); p->Dato=e; p->Link=NULL; if(*L == NULL) { *L=p; } else { q=*L; t=*L; while(q != NULL) { if(q->Dato < e) { t=q; q=q->Link; if(q == NULL) // para el ultimo nodo { t->Link = p; } } else { if(q == t) // para insertar al comienzo { p->Link=q; *L=p; q=NULL; } else { // entre medio t->Link=p; p->Link=q; q=NULL; } } } } } void Intercambiar(Lista *L) { Lista p,q,t,s; p = *L; q = p->Link; s = *L; t = *L; while(s->Link != NULL) { t = s; s = s->Link; } p->Link = NULL; s->Link = q; t->Link = p; *L = s; } int main() { Lista L; int i, n, e; L = NULL; printf("Ingrese valor de N "); scanf("%d",&n); for(i=1; i<=n; i++) { printf("\n\nInsertando e\n"); printf("Ingrese valor de e "); scanf("%d",&e); Insertar(&L, e); printf("Lista\n"); mostrar(L); } Intercambiar(&L); printf("Lista\n"); mostrar(L); system("pause"); }
pero eso no significa q use las cosas q haga....
en todo caso yo no lo toi defendiendo 