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(); }