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: