Estructura de Datos: Lista
Ing. Emerson Garay www.youtube.com/emergaray www.slideshare.net/emergar
Lista: Concepto En ciencias de la computación, una lista enlazada es una de las estructuras de datos fundamentales, y puede ser usada para implementar otras estructuras de datos. Consiste en una secuencia de nodos, en los que se guardan campos de datos arbitrarios y una o dos referencias, enlaces o punteros al nodo anterior o posterior.
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
<< Extraído de: https://es.wikipedia.org/wiki/Lista_enlazada
Lista: Clasificación
Lista
Implementación
Enlazada
Simple
Doble
Circular
No enlazada Con Arreglos
Organización
Desordenada
Ordenada
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Lista: Enlazada Simple
Primero Ultimo
10 30 45 99
Dato sig
Longitud = 4
Nodo Simple
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Actual
Lista: Enlazada Doble
Primero Ultimo
10 30 45 99
Dato sig ant
Longitud = 4
Nodo Doble
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Actual
Lista: E. Simple Circular
Primero Ultimo
10 30 45 99
Dato sig
Longitud = 4
Nodo
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Actual
Lista: E. Doble Circular
Primero Ultimo
10 30 45 99
Dato sig ant
Longitud = 4
Nodo Doble
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Actual
• Constructor (Crea una lista vacía) • Anexar al Final (Anexa un elemento después del ultimo) • Insertar al Inicio (Inserta un elemento antes del primero) • Eliminar al Final (Elimina el ultimo elemento) • Eliminar al Inicio (Elimina el primer elemento) • Ir al Primero (Se puede acceder al primer elemento) • Ir al Ultimo (Se puede acceder al ultimo elemento) • Ir al Siguiente (Se avanza una posición) • Ir al Anterior (Se retrocede una posición) • Posicionar (Ubicar el acceso actual sobre el pos-ésimo elemento) • Información (Retorna el elemento que tiene el acceso actual) • Longitud (Retorna la longitud de la lista) • Es fin (Informa si ha llegado al final de la Lista)
Lista: Operaciones
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Lista con Números
L = ( 5, 4, 3, 2, 1)
Lista com Nombres (Texto)
M = ( “María”, “Juan”, “Pedro” )
Lista con Listas de Números
N = ( (1,2,3), (4,5,6), (7,8,9,10) )
Lista de elementos de diferentes tipos
O = ( 5.10, 4.99, 3, 2, “1”, (3,6,9) )
Lista: Ejemplos
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Lista Enlazada S: Vacía
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Primero Ultimo
Longitud = 0
Actual anexarAlFinal(30)
Lista Enlazada S: 1 Elementos
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Primero Ultimo
30
Longitud = 1
Actual anexarAlFinal(45)
Lista Enlazada S: 2 Elementos
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Primero
30
Longitud = 2 Actual
45
Ultimo
insertarAlInicio(10)
Lista Enlazada S: 3 Elementos
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Primero
10
Longitud = 3 Actual
30
Ultimo
45
Lista Enlazada D: Vacía
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Primero Ultimo
Longitud = 0
Actual anexarAlFinal(30)
Lista Enlazada D: 1 Elementos
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Primero Ultimo
Longitud = 1
Actual
30
anexarAlFinal(45)
Lista Enlazada D: 2 Elementos
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Longitud = 2 Actual
Primero Ultimo
30 45
insertarAlInicio(10)
Lista Enlazada D: 3 Elementos
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
Longitud = 3 Actual
Primero Ultimo
10 30 45
//Constructor de una lista vacía LinkedList lst = new LinkedList(); //Adicionar un nuevo elemento al inicio lst.addFirst("1"); //Adicionar un nuevo elemento al final lst.addLast("3"); //Insertar un nuevo elemento en una posición int posicion = 2; lst.add(posicion, "2");
Lista: Operaciones Java
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
//Cantidad de elementos de la lista
int n = lst.size();
//Quitar y Obtener el elemento del Inicio
Object e = lst.removeFirst();
//Quitar y Obtener el elemento del Final
Object e = lst.removeLast();
//Quitar y Obtener el elemento de una posición
Object e = lst.remove(posicion);
Lista: Operaciones Java
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
//Obtener sin quitar el elemento del Inicio
Object e = lst.getFirst();
//Obtener sin quitar el elemento del Final
Object e = lst. getLast();
//Obtener sin quitar el elemento de una posición
int posicion = 8;
Object e = lst. get(posicion);
Lista: Operaciones Java
2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez