EnglishFrenchGerman Spain Italian Dutch Russian Portuguese Japanese Korean Arabic Chinese Simplified

Listas Enlazadas Simples


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:

web-xtreme.blogspot.com. Con la tecnología de Blogger.