Código:
# include <stdio.h>
# include <conio.h>
# define MAX_LISTA 10
int info[MAX_LISTA]={30,70,40,60,10,80,50,20,0,0},p=4;
int enl[MAX_LISTA]= {2,5,6,1,7,-1,3,0,0,0};
int r=8;//almacena la posicion libre de mi lista enlazada
int s=0;//variable auxiliar que almacena el ENLACE de la lista enlazada
int nodo=0;
int main()
{
//1 mostrando la lista original
int q=p;
printf("La lista antes de la insercion es:\n");
while (q!=-1)
{
printf("%d\n",info[q]);
q=enl[q];
}
//2 se solicita el NODO a ser insertado
printf("\nIngrese nodo a ser insertado: ");
scanf("%d",&nodo);
//3 buscando donde insertar el NODO
q=p;
printf("\nBuscando...\n");
while (nodo > info[q])
{
s=q;
printf("Si\t %d\t %d\n ",info[q],s);
q=enl[q];
}
info[r]=nodo;
enl[r]=enl[s]; //OJO
enl[s]=r; //OJO
//4 mostrando la lista original
q=p;
printf("La lista final es:\n");
while (q!=-1)
{
printf("%d\n",info[q]);
q=enl[q];
}
getch();
}


