OPERACIONES
BASICAS.
Las operaciones que se pueden realizar con listas
incluyen fundamentalmente las siguientes:
1-
Insertar un elemento en
una lista
2-
Buscar un elemento en
una lista
3-
Borrar un elemento de
una lista
4-
Recorrer los elementos
de una lista
5-
Borrar todos los
elementos de una lista
*Buscar en una lista un elemento con un
valor x
Supongamos que queremos buscar un elemento en una
lista cuyo primer elemento esta apuntado por p. la búsqueda es secuencial y
termina cuando se encuentra el elemento, o bien cuando se llega al final de la
lista.
q=p;
//q apunta al primer elemento de la lista
cout<<”Dato
a buscar: “; leerDato(x);
while(q!=0&&q->dato!=x)
q=q->siguiente; //q apunta al siguiente elemento
Se observa que el orden de las expresiones que forman
la condición del bucle while. Sabemos que en una operación &&(AND),
cuando una de las expresiones es falsa la condición ya es falsa, por lo que el
resto de las expresiones no necesitan ser evaluadas. Cuando q valga cero, la
expresión->dato no será evaluado, de lo contrario se producirá un error.
Finalmente, la variable q quedara apuntando al elemento buscado, o valdrá cero
si ese elemento no se encuentra.
*Recorrer una lista
Se quiere realizar una operación con todos los
elementos de una lista, cuyo primer elemento esta apuntado por p. Ejemplo,
escribir el valor de cada elemento de la lista. Las operaciones son las
siguientes:
q=p; // Salvar el puntero al
primer elemento de la lista
while(q!=0)
{
cout<<q->dato<<” “;
q=q->siguiente;
}
*Borrar todos los elementos de una
lista
Borrar todos los elementos equivale a liberar la
memoria asignada a cada uno de los elementos de la misma. Se quiere borrar una lista,
cuyo primer elemento esta apuntado por p. Sus operaciones son las siguientes:
while(p!=0)
{
q=p;
p=p->siguiente;
delete q;
}
Antes de borrar el elemento apuntado por q, se hace
que p apunte al siguiente elemento, por que si no se perdería el resto de la
lista.