Está en la página 1de 9

Listas ligadas

Simples
Introducción

● Una lista enlazada consta de un número de nodos con dos


componentes (campos), un enlace al siguiente nodo de la lista y
un valor, que puede ser de cualquier tipo.
● Es un alista dinámica porque nosotros le asignamos el numero de
datos que deseamos tener.

2
Listas enlazadas Simples

● Cada nodo (elemento) contiene un único enlace que


conecta ese nodo al nodo siguiente o nodo sucesor. La
lista es eficiente en recorridos directos ((<adelante»>).

3
Características Listas ligadas
simples

01 02
Se pueden guardar elementos Se embuten los objetos en una
que sean del mismo tipo, por estructura llamada Nodo
ejemplo, enteros.

03 04
Los nodos tienen punteros El ultimo nodo apunta a una
que permiten señalar a lista vacía que no tiene ningún
otro nodo. elemento
Operaciones en la listas elanzadas

● Agregar un nodo al inicio -> addToHead();


● Agregar un nodo al final -> addToTail();
● Eliminar el nodo del inicio -> deleteFromHead();
● Eliminar el nodo del final -> deleteFromTail();
● Imprimir lista -> printAll();
● Buscar un elemento en la lista -> isInList();
● Borrar un elemento de la lista -> delete();
5
Ventajas de las listas
frente a un Array

1 2 3

Los nodos no tienen Pueden agregar y


porque guardarse Pueden tener quitar elementos
juntos en memoria, longitud variable. en tiempo de
como ocurre con los
arrays.
ejecución.
Desventaja de una lista frente a
un array

Las listas no tienen Necesitan mas espacio


noción de índice, por lo de memoria ya que
que no podemos hacer tienen que almacenar
accesos aleatorios. punteros.
Como declarar un Nodo

● El nodo se crea con la asignación


p.next = new intLLNode (8);
● Donde p.next es el campo next del nodo señalado por p.
Como antes, se ejecutan cuatro pasos:
● 1. Un nodo nuevo se crea
● 2. El constructor asigna el número 8 al campo info de este
nodo
● 3. El constructor asigna null a su campo next
● 4. El nodo nuevo se incluye en la lista al convertir el campo
next del primer nodo una referencia al nodo nuevo
8
Ejemplo de un Nodo en C#
Un nodo incluye dos campos de datos:
info y next.
• El campo info se utiliza para almacenar
información, y es un campo importante
para el usuario.
• El campo next se utiliza para ligar los
nodos entre sí con el propósito de formar
una lista ligada.

Incluye dos constructores:


• El segundo constructor toma dos
argumentos, uno para inicializar el
campo info y otro para inicializar el
campo next.
• El primer constructor toma un
argumento y se define en términos del
segundo constructor
9

También podría gustarte