Listas Enlazadas Simples C++

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);
}

1 comentarios:

{ muchacho } at: 18 de mayo de 2011, 4:45 dijo...

https://docs.google.com/document/d/1MUNap3gnvl69m3vCA2WuD3JM37h1saSezsMHo3FSfgo/edit?hl=en

Publicar un comentario en la entrada