• Una estructura de datos Lista es una secuencia conectada de nodos, cada uno de los
cuales contiene algún dato.
• Hay un nodo al comienzo llamado la cabeza o frente (head o front).
• Hay un nodo de término llamado la cola o atrás (tail o back).
• Una Lista sólo puede ser recorrida en secuencia, usualmente hacia atrás o adelante.
• Hay varias formas de implementar una lista, como se muestra a continuación.
Recorrido.
Búsqueda sobre lista enlazada ordenada y sobre lista enlazada desordenada.
Control del espacio disponible en memoria: desbordamiento y subdesbordamiento.
Inserción:
Lista vacía
Por el principio
Por el medio
Por el final
Borrado:
Primer nodo de la lista
Cualquier nodo
Último nodo.
una primera implementación de listas usando arreglos, cada elemento del arreglo
debe ser un elemento compuesto. Cada elemento debe contener una parte para la información y
otra parte para apuntar al elemento siguiente:
#include <iostream>
( 1) #define numNodes 500 En el programa anterior, en las líneas
(2) a (5) se crea un nuevo tipo de dato, el tipo
( 2) struct nodeType{ nodo. Cada nodo tiene dos partes, su parte de
( 3) int info; información y su parte de apuntador al siguiente.
( 4) int next; Como solamente tenemos 500 nodos (declarados
( 5) }; en la línea (1), el tipo de datos siguiente es entero
y hemos decidido almacenar números enteros
( 6) struct nodeType node[numNodes]; solamente.
En la línea (6) se ha declarado una
int main (int argc, char * const argv[]) { variable global de tipo arreglo de estructura de
nodos, es decir, se ha creado un arreglo de 500
std::cout << "\EL GRUPO ESTA INTEGRADO POR:!\n"; nodos.
std::cout <<"\NIEVES KARLA!\n";
std::cout <<"\VIERA URIAN!\n";
std::cout <<"\SUAREZ RENY!\n";
std::cout <<" \ AULA 06S5IST B!\n";
return 0;
clic
}