1.1 Definición
La forma más simple de estructura dinámica es la lista abierta. En esta forma los nodos se organizan de modo que cada uno apunta al siguiente, y el último no apunta a nada, es decir, el puntero del nodo siguiente vale NULL.
En las listas abiertas existe un nodo especial: el primero. Normalmente diremos que nuestra lista es un puntero a ese primer nodo o llamaremos a ese nodo la cabeza de la lista. Eso es porque mediante ese único puntero podemos acceder a toda la lista.
Cuando el puntero que usamos para acceder a la lista vale NULL, diremos que la lista está vacía.
El nodo típico para construir listas tiene esta forma:
struct nodo { char dato; nodo *siguiente; };
1.2 Operaciones básicas con listas:
Con las listas tendremos un pequeño repertorio de operaciones básicas que se pueden realizar:
• Añadir o insertar elementos.
• Buscar o localizar elementos.
• Borrar elementos.
• Moverse a través de una lista, anterior, siguiente, primero.
FUNCION INSERTAR
inserta_por_el_inicio(nodo *p) { nodo *q; q=new(nodo); cin>>q->inf; q->sig=p; p=q; return (p); }
FUNCION ELIMINAR
elimina_f(nodo *p) { nodo *r,*t; char op; if(p!=NULL) { clrscr(); cout<<"\n\t¨ ESTA SEGURO QUE QUIERE ELIMINAR(S/N)?"; cin>>op; if(op=='S' || op=='s') { r=p; while(r->sig!=NULL) { t=r; r=r->sig; } if(p==r) { p=NULL; } else { t->sig=NULL; } delete(r); cout<<"EL ULTIMO NODO DE LA LISTA AH SIDO ELIMINADO"; getch(); } } else { clrscr(); cout<<"LA LISTA ESTA VACIA"; getch(); } return(p); }
0 Responses So Far: