PLE:Unidad5Ejercicio07

/* programa:      ejH507 fecha:         11/04/07 Descipcion:    Lee un fichero de texto y escribe unalista de palabras ordenadas.


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

struct nodo{ char p[20]; nodo *ps; };

void main {       ifstream fe; ofstream fs; nodo *raiz=NULL,*nuevo=NULL, *anterior; char palabra[20];

fe.open("texto.txt"): fs.open("palabras.txt");

if(fe.bad || fs.bad) {               exit(0); }       else {               while(!fe.eof) {                       fe >> palabra;

// creamos el nodo nuevo=new nodo; // Introduzco la palabra en el nodo strcpy(nuevo->p,palabra);

// Buscamos el nodo anterior if(raiz==NULL || strcmp(raiz->p,palabra) >= 0){ nuevo->ps = raiz; raiz = nuevo; }else { anterior = raiz; while(anterior->ps != NULL && strcmp(anterior->ps->p,palabra) < 0){ anterior = anterior->ps; }                               nuevo->ps = anterior->ps; anterior->ps = nuevo; }               }        }

// imprimir lista cout << endl << endl << "Lista de palabras ordenadas" << endl; nuevo=raiz; while(nuevo!=NULL) {               // Muestra datos del nodo cout << nuevo->p << "\t"; // Saltamos al siguiente nuevo = nuevo->ps; }       fs.close; fe.close;

cin.ignore; cin.get; }