PLE:Unidad5Ejercicio05

/* programa:      ejH505 fecha:         26/03/06 Descipcion:    Lista enlazada. Inserta ordenadamente.


 * 1) include
 * 2) include
 * 3) include

struct nodo{ char nombre[20]; char telefono[9]; nodo *ps; };

void main {       nodo *raiz=NULL,*nuevo=NULL, *anterior; char continuar='s'; char nom[20], tlf[9];

while(continuar != 'n') {               // Leemos el siguiente número cout << "\nIntroduce un nombre:"; cin >> nom; cout << "\nIntroduce un telefono:"; cin >> tlf;

// creamos el nodo nuevo=new nodo; strcpy(nuevo->nombre,nom); strcpy(nuevo->telefono,tlf);

// Buscamos el nodo anterior if(raiz==NULL || strcmp(raiz->nombre,nom) >= 0){ nuevo->ps = raiz; raiz = nuevo; }else { anterior = raiz; while(anterior->ps != NULL && strcmp(anterior->ps->nombre,nom) < 0){ anterior = anterior->ps; }                       nuevo->ps = anterior->ps; anterior->ps = nuevo; }               cout << "¿Quiere continuar (s/n)?: "; cin >> continuar; }

// imprimir lista nuevo=raiz; while(nuevo!=NULL) {               // Muestra datos del nodo cout << nuevo->nombre << "\t"; cout << nuevo->telefono << endl; // Saltamos al siguiente nuevo = nuevo->ps; }       getch; }