PLE:Unidad7Ejercicio09

/* programa:      Ejercicio09 Descipcion:    Lista enlazada. Inserta ordenadamente una lista de palabras contenidas en un fichero de texto sin repeticiones. El resultado final se almacena en formato HTML.


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

struct nodo{ char palabra[30]; nodo *ps; };

nodo *localiza(nodo *r, char *p);

void main {       nodo *raiz=NULL,*nuevo=NULL, *anterior, *pos; ifstream fe; ofstream fs; char pal[30];

// Abrimos el fichero de entrada fe.open("ejemplo.txt"); fs.open("ejemplo.html");

// Leemos la primera palabra fe >> pal; while(!fe.eof) {               // creamos el nodo pos = raiz; if(localiza(pos, pal)== NULL) {                       nuevo=new nodo; strcpy(nuevo->palabra,pal); // Buscamos el nodo anterior if(raiz==NULL || strcmp(raiz->palabra,pal) >= 0){ nuevo->ps = raiz; raiz = nuevo; }else { anterior = raiz; while(anterior->ps != NULL && strcmp(anterior->ps->palabra,pal) < 0){ anterior = anterior->ps; }                               nuevo->ps = anterior->ps; anterior->ps = nuevo; }               }                // Leemos la siguiente palabra fe >> pal; }

// Volcamos la cabecera del fichero HTML fs << " \n"; fs << " \n"; fs << " \n"; fs << " Lista de palabras ordenadas \n"; fs << " \n"; fs << " \n"; fs << " \n"; getch; }

nodo *localiza(nodo *r, char *p) {       while(r != NULL && strcmp(r->palabra, p)!=0) r = r->ps; return r; }