SlideShare una empresa de Scribd logo
1 de 13
LISTAS
LISTAS
 Una lista es una estructura dinámica de datos que contiene una colección de
elementos homogéneos (del mismo tipo) de manera que se establece entre ellos
un orden. Es decir, cada elemento, menos el primero, tiene un predecesor, y cada
elemento, menos el último, tiene un sucesor.
 Tanto las estructuras vistas en la sección anterior (pilas) como las que veremos en
la siguiente (colas) son tipos de listas.
Listas
CLASIFICACIÓN
Operaciones básicas con listas
 Las operaciones básicas que podemos realizar en cualquier lista, independiente
del tipo que sea, son la siguientes:
 Crear: con esta operación se genera todo lo necesario para trabajar con una lista.
 Insertar: permite añadir un elemento a la lista. En este caso debemos indicar al
programa si vamos a añadir el elemento nuevo al comienzo de la lista o al final de la
misma.
 Eliminar: se usará para borrar un elemento de la lista. También podremos indicar si
queremos borrar el primero o el último.
 Vacía: devolverá cierto si la lista está vacía.
Ejemplos
 Insertar
 La operación insertar consiste en la introducción de un nuevo elemento en la lista.
 En una lista no ordenada no es necesario mantener ningún orden, por lo tanto la
inserción de elementos se puede realizar en cualquier lugar de la lista, al principio, al
final, en una posición aleatoria
Ejemplos
 Borrar
 La operación borrar consiste en la eliminación de la lista de un elemento concreto. El
elemento a borrar será escogido por el programador.
 La eliminación en una lista no conlleva ningún trabajo adicional más que el propio de la
eliminación del elemento en sí. Para borrar un elemento cualquiera habría que realizar
un recorrido secuencial de la lista hasta encontrar el nodo buscado y una vez localizado
reestructurar los punteros para saltarse el nodo a borrar y así poder eliminarlo.
Tipos de listas
 Podemos distinguir, atendiendo a la organización de los nodos, entre:
 Listas simplemente enlazadas: cada nodo tiene un campo que apunta al siguiente
nodo.
 Listas doblemente enlazadas: cada nodo dispone de un puntero que apunta al
siguiente nodo, y otro que apunta al nodo anterior.
 Otra distinción puede ser:
 Listas lineales: son listas que tienen un comienzo y un final.
 Listas circulares: en estas listas el último elemento apunta al primero, por lo tanto
podríamos estar recorriéndolas siempre, ya que no tienen final.
Lista simplemente enlazada
 Es la más fundamental estructura de datos basada en punteros, y del concepto
fundamental de ésta derivan las otras estructuras de datos
 Un arreglo asigna memoria para todos sus elementos ordenados como un sólo
bloque. En cambio, la lista enlazada asigna espacio para cada elemento por
separado, en su propio bloque de memoria, llamado nodo. La lista conecta estos
nodos usando punteros, formando una estructura parecida a la de una cadena.
Lista doblemente enlazada
 Una lista doblemente enlazada es una lista lineal en la que cada nodo tiene dos
enlaces, uno al nodo siguiente, y otro al anterior.
 Las listas doblemente enlazadas no necesitan un nodo especial para acceder a ellas,
pueden recorrerse en ambos sentidos a partir de cualquier nodo, esto es porque a
partir de cualquier nodo, siempre es posible alcanzar cualquier nodo de la lista, hasta
que se llega a uno de los extremos.
struct nodo {
int dato;
struct nodo *siguiente;
struct nodo *anterior;
};
Listas circulares
 Una lista circular es una lista lineal en la que el último nodo a punta al primero.
 Las listas circulares evitan excepciones en la operaciones que se realicen sobre ellas.
No existen casos especiales, cada nodo siempre tiene uno anterior y uno siguiente.
 En algunas listas circulares se añade un nodo especial de cabecera, de ese modo se
evita la única excepción posible, la de que la lista esté vacía
struct nodo {
int dato;
struct nodo *siguiente;
};
Aplicaciones
 SIMPLE
 Se pude utilizar para hallar los elementos de una fila de personas
 Puede ser utilizada para un cronograma de actividades diarias
 DOBLE
 Se puede utilizar para almacenar información como los botones de adelante y atrás del
browser.
 Puede ser utilizada para los datos de transacción de una cuenta bancaria
 CIRCULAR
 Puede ser utilizada para almacenar una sucesión de imágenes de un experimento.
 Puede ser utilizada para almacenar una sucesión de imágenes de un experimento
Ejercicios
 Utilizando listas dobles guardar libros con su respectiva información, incluir datos
del autor y de la editorial
 Realizar un programa el cual se deba ingresar una palabra, después la misma
palabra y una nueva, y que diga si la primera palabra fue ingresada en la segunda
vez
 Ingresar números aleatorios en una lista y que luego me muestre la lista
ordenada ascendentemente
 Ingresar un número de cédula y que vaya separando de dos en dos, sumar cada
dígito hasta que me queden solo de una cifra y calcular cuantos números
perfectos tengo
 Realizar un snake usando listas doblemente enlazadas

Más contenido relacionado

La actualidad más candente (20)

Listas Enlazadas
Listas EnlazadasListas Enlazadas
Listas Enlazadas
 
Listas en C#
Listas en C#Listas en C#
Listas en C#
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
 
Listas Encadenadas Jose Tannous
Listas Encadenadas Jose TannousListas Encadenadas Jose Tannous
Listas Encadenadas Jose Tannous
 
Listas doblemente enlazadas
Listas doblemente enlazadasListas doblemente enlazadas
Listas doblemente enlazadas
 
Listas enlazadas
Listas enlazadasListas enlazadas
Listas enlazadas
 
Importancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datosImportancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datos
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
 
Listas enlazadas
Listas enlazadasListas enlazadas
Listas enlazadas
 
Programación 3: colas
Programación 3: colasProgramación 3: colas
Programación 3: colas
 
Listas,pilas&colas yorka
Listas,pilas&colas yorkaListas,pilas&colas yorka
Listas,pilas&colas yorka
 
Lista simple
Lista simpleLista simple
Lista simple
 
Unidad tres estructura de datos
Unidad tres estructura de datosUnidad tres estructura de datos
Unidad tres estructura de datos
 
Listas
ListasListas
Listas
 
Listas
ListasListas
Listas
 
Listas y Pilas
Listas y PilasListas y Pilas
Listas y Pilas
 
Lissette pimentel 11 1149 --- listas, pilas y colas
Lissette pimentel 11 1149 --- listas, pilas y colasLissette pimentel 11 1149 --- listas, pilas y colas
Lissette pimentel 11 1149 --- listas, pilas y colas
 
Lista, pilas y colas
Lista, pilas y colasLista, pilas y colas
Lista, pilas y colas
 
Listas
ListasListas
Listas
 

Similar a Listas

listas Luis Guarata 31332901.pdf
listas Luis Guarata 31332901.pdflistas Luis Guarata 31332901.pdf
listas Luis Guarata 31332901.pdfLuisAGuarata
 
Listas c#
Listas c#Listas c#
Listas c#rezzaca
 
DECLARACION DE LISTAS 1.pdf
DECLARACION DE LISTAS 1.pdfDECLARACION DE LISTAS 1.pdf
DECLARACION DE LISTAS 1.pdfmichaelsilva2k20
 
Estructura de dato unidad 3
Estructura de dato unidad 3Estructura de dato unidad 3
Estructura de dato unidad 3lenithoz
 
Lista, pilas y colas
Lista, pilas y colasLista, pilas y colas
Lista, pilas y colasAmaury Pascal
 
Lista, pilas y colas
Lista, pilas y colasLista, pilas y colas
Lista, pilas y colasAmaury Pascal
 
Implementación-de-pilas-por-medio-de-listas.pptx
Implementación-de-pilas-por-medio-de-listas.pptxImplementación-de-pilas-por-medio-de-listas.pptx
Implementación-de-pilas-por-medio-de-listas.pptxRafael nin
 
Diapositiva de l estructura de datos
Diapositiva de l estructura de datosDiapositiva de l estructura de datos
Diapositiva de l estructura de datosmariajuly
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datoscharlezgt
 
Presentacion de Listas, Pilas y Colas
Presentacion de Listas, Pilas y ColasPresentacion de Listas, Pilas y Colas
Presentacion de Listas, Pilas y ColasKate Pros
 
Informe de Lista.pdf
Informe de Lista.pdfInforme de Lista.pdf
Informe de Lista.pdfdciutsucre
 
Tad lista, pilas y colas
Tad lista, pilas y colasTad lista, pilas y colas
Tad lista, pilas y colaslabarra90
 
Tad lista, pilas y colas
Tad lista, pilas y colasTad lista, pilas y colas
Tad lista, pilas y colaslabarra90
 

Similar a Listas (20)

Estructuras lineales
Estructuras linealesEstructuras lineales
Estructuras lineales
 
listas Luis Guarata 31332901.pdf
listas Luis Guarata 31332901.pdflistas Luis Guarata 31332901.pdf
listas Luis Guarata 31332901.pdf
 
Listas c#
Listas c#Listas c#
Listas c#
 
DECLARACION DE LISTAS 1.pdf
DECLARACION DE LISTAS 1.pdfDECLARACION DE LISTAS 1.pdf
DECLARACION DE LISTAS 1.pdf
 
Estructura de dato unidad 3
Estructura de dato unidad 3Estructura de dato unidad 3
Estructura de dato unidad 3
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Darwin rodriguez 12-0861_pilasy_colas
Darwin rodriguez 12-0861_pilasy_colasDarwin rodriguez 12-0861_pilasy_colas
Darwin rodriguez 12-0861_pilasy_colas
 
Lista, pilas y colas
Lista, pilas y colasLista, pilas y colas
Lista, pilas y colas
 
Lista, pilas y colas
Lista, pilas y colasLista, pilas y colas
Lista, pilas y colas
 
Implementación-de-pilas-por-medio-de-listas.pptx
Implementación-de-pilas-por-medio-de-listas.pptxImplementación-de-pilas-por-medio-de-listas.pptx
Implementación-de-pilas-por-medio-de-listas.pptx
 
Diapositiva de l estructura de datos
Diapositiva de l estructura de datosDiapositiva de l estructura de datos
Diapositiva de l estructura de datos
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Listas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de DatosListas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de Datos
 
Presentacion de Listas, Pilas y Colas
Presentacion de Listas, Pilas y ColasPresentacion de Listas, Pilas y Colas
Presentacion de Listas, Pilas y Colas
 
Informe de Lista.pdf
Informe de Lista.pdfInforme de Lista.pdf
Informe de Lista.pdf
 
Tad lista, pilas y colas
Tad lista, pilas y colasTad lista, pilas y colas
Tad lista, pilas y colas
 
Tad lista, pilas y colas
Tad lista, pilas y colasTad lista, pilas y colas
Tad lista, pilas y colas
 
Listas encadenadas
Listas encadenadas Listas encadenadas
Listas encadenadas
 

Más de Fernando Solis

BÚSQUEDA DE SUBCADENAS EN C
BÚSQUEDA DE SUBCADENAS EN CBÚSQUEDA DE SUBCADENAS EN C
BÚSQUEDA DE SUBCADENAS EN CFernando Solis
 
Almacenamiento de informacion en una estructura
Almacenamiento de informacion en una estructuraAlmacenamiento de informacion en una estructura
Almacenamiento de informacion en una estructuraFernando Solis
 
Entrada y salida de datos
Entrada y salida de datosEntrada y salida de datos
Entrada y salida de datosFernando Solis
 
Longitud y Concatenacion
Longitud y ConcatenacionLongitud y Concatenacion
Longitud y ConcatenacionFernando Solis
 
Lectura de datos de cadena
Lectura de datos de cadenaLectura de datos de cadena
Lectura de datos de cadenaFernando Solis
 
Introducción a Tipos de Datos Abstractos (TDA)
Introducción a Tipos de Datos Abstractos (TDA)Introducción a Tipos de Datos Abstractos (TDA)
Introducción a Tipos de Datos Abstractos (TDA)Fernando Solis
 
Archivos Binarios vs Archivos de Texto
Archivos Binarios vs Archivos de TextoArchivos Binarios vs Archivos de Texto
Archivos Binarios vs Archivos de TextoFernando Solis
 
DEFINICION DE CADENAS O STRINGS
DEFINICION DE CADENAS O STRINGSDEFINICION DE CADENAS O STRINGS
DEFINICION DE CADENAS O STRINGSFernando Solis
 
Declaración e inicialización de variables de tipo cadena
Declaración e inicialización de variables de tipo cadenaDeclaración e inicialización de variables de tipo cadena
Declaración e inicialización de variables de tipo cadenaFernando Solis
 
Comparacion de arreglos Strings
Comparacion de arreglos StringsComparacion de arreglos Strings
Comparacion de arreglos StringsFernando Solis
 
Acceso en tipos de datos abstractos
Acceso en tipos de datos abstractosAcceso en tipos de datos abstractos
Acceso en tipos de datos abstractosFernando Solis
 
Arreglo Orden Seleccion
Arreglo  Orden SeleccionArreglo  Orden Seleccion
Arreglo Orden SeleccionFernando Solis
 
Algoritmos de Busqueda
Algoritmos de BusquedaAlgoritmos de Busqueda
Algoritmos de BusquedaFernando Solis
 

Más de Fernando Solis (20)

AULA INVERTIDA.pdf
AULA INVERTIDA.pdfAULA INVERTIDA.pdf
AULA INVERTIDA.pdf
 
Subcadenas-en-C
Subcadenas-en-CSubcadenas-en-C
Subcadenas-en-C
 
BÚSQUEDA DE SUBCADENAS EN C
BÚSQUEDA DE SUBCADENAS EN CBÚSQUEDA DE SUBCADENAS EN C
BÚSQUEDA DE SUBCADENAS EN C
 
Almacenamiento de informacion en una estructura
Almacenamiento de informacion en una estructuraAlmacenamiento de informacion en una estructura
Almacenamiento de informacion en una estructura
 
Entrada y salida de datos
Entrada y salida de datosEntrada y salida de datos
Entrada y salida de datos
 
Longitud y Concatenacion
Longitud y ConcatenacionLongitud y Concatenacion
Longitud y Concatenacion
 
Lectura de datos de cadena
Lectura de datos de cadenaLectura de datos de cadena
Lectura de datos de cadena
 
Introducción a Tipos de Datos Abstractos (TDA)
Introducción a Tipos de Datos Abstractos (TDA)Introducción a Tipos de Datos Abstractos (TDA)
Introducción a Tipos de Datos Abstractos (TDA)
 
Archivos Binarios vs Archivos de Texto
Archivos Binarios vs Archivos de TextoArchivos Binarios vs Archivos de Texto
Archivos Binarios vs Archivos de Texto
 
DEFINICION DE CADENAS O STRINGS
DEFINICION DE CADENAS O STRINGSDEFINICION DE CADENAS O STRINGS
DEFINICION DE CADENAS O STRINGS
 
Declaración e inicialización de variables de tipo cadena
Declaración e inicialización de variables de tipo cadenaDeclaración e inicialización de variables de tipo cadena
Declaración e inicialización de variables de tipo cadena
 
Conversion de Strings
Conversion de StringsConversion de Strings
Conversion de Strings
 
Comparacion de arreglos Strings
Comparacion de arreglos StringsComparacion de arreglos Strings
Comparacion de arreglos Strings
 
Cadenas y/o strings
Cadenas y/o stringsCadenas y/o strings
Cadenas y/o strings
 
Asignacion
AsignacionAsignacion
Asignacion
 
Acceso en tipos de datos abstractos
Acceso en tipos de datos abstractosAcceso en tipos de datos abstractos
Acceso en tipos de datos abstractos
 
Arreglo Orden Seleccion
Arreglo  Orden SeleccionArreglo  Orden Seleccion
Arreglo Orden Seleccion
 
Algoritmos de Busqueda
Algoritmos de BusquedaAlgoritmos de Busqueda
Algoritmos de Busqueda
 
Quick Sort
Quick SortQuick Sort
Quick Sort
 
Ordenacion Radix
Ordenacion RadixOrdenacion Radix
Ordenacion Radix
 

Último

ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxinformacionasapespu
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 

Último (20)

ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 

Listas

  • 2. LISTAS  Una lista es una estructura dinámica de datos que contiene una colección de elementos homogéneos (del mismo tipo) de manera que se establece entre ellos un orden. Es decir, cada elemento, menos el primero, tiene un predecesor, y cada elemento, menos el último, tiene un sucesor.  Tanto las estructuras vistas en la sección anterior (pilas) como las que veremos en la siguiente (colas) son tipos de listas.
  • 5. Operaciones básicas con listas  Las operaciones básicas que podemos realizar en cualquier lista, independiente del tipo que sea, son la siguientes:  Crear: con esta operación se genera todo lo necesario para trabajar con una lista.  Insertar: permite añadir un elemento a la lista. En este caso debemos indicar al programa si vamos a añadir el elemento nuevo al comienzo de la lista o al final de la misma.  Eliminar: se usará para borrar un elemento de la lista. También podremos indicar si queremos borrar el primero o el último.  Vacía: devolverá cierto si la lista está vacía.
  • 6. Ejemplos  Insertar  La operación insertar consiste en la introducción de un nuevo elemento en la lista.  En una lista no ordenada no es necesario mantener ningún orden, por lo tanto la inserción de elementos se puede realizar en cualquier lugar de la lista, al principio, al final, en una posición aleatoria
  • 7. Ejemplos  Borrar  La operación borrar consiste en la eliminación de la lista de un elemento concreto. El elemento a borrar será escogido por el programador.  La eliminación en una lista no conlleva ningún trabajo adicional más que el propio de la eliminación del elemento en sí. Para borrar un elemento cualquiera habría que realizar un recorrido secuencial de la lista hasta encontrar el nodo buscado y una vez localizado reestructurar los punteros para saltarse el nodo a borrar y así poder eliminarlo.
  • 8. Tipos de listas  Podemos distinguir, atendiendo a la organización de los nodos, entre:  Listas simplemente enlazadas: cada nodo tiene un campo que apunta al siguiente nodo.  Listas doblemente enlazadas: cada nodo dispone de un puntero que apunta al siguiente nodo, y otro que apunta al nodo anterior.  Otra distinción puede ser:  Listas lineales: son listas que tienen un comienzo y un final.  Listas circulares: en estas listas el último elemento apunta al primero, por lo tanto podríamos estar recorriéndolas siempre, ya que no tienen final.
  • 9. Lista simplemente enlazada  Es la más fundamental estructura de datos basada en punteros, y del concepto fundamental de ésta derivan las otras estructuras de datos  Un arreglo asigna memoria para todos sus elementos ordenados como un sólo bloque. En cambio, la lista enlazada asigna espacio para cada elemento por separado, en su propio bloque de memoria, llamado nodo. La lista conecta estos nodos usando punteros, formando una estructura parecida a la de una cadena.
  • 10. Lista doblemente enlazada  Una lista doblemente enlazada es una lista lineal en la que cada nodo tiene dos enlaces, uno al nodo siguiente, y otro al anterior.  Las listas doblemente enlazadas no necesitan un nodo especial para acceder a ellas, pueden recorrerse en ambos sentidos a partir de cualquier nodo, esto es porque a partir de cualquier nodo, siempre es posible alcanzar cualquier nodo de la lista, hasta que se llega a uno de los extremos. struct nodo { int dato; struct nodo *siguiente; struct nodo *anterior; };
  • 11. Listas circulares  Una lista circular es una lista lineal en la que el último nodo a punta al primero.  Las listas circulares evitan excepciones en la operaciones que se realicen sobre ellas. No existen casos especiales, cada nodo siempre tiene uno anterior y uno siguiente.  En algunas listas circulares se añade un nodo especial de cabecera, de ese modo se evita la única excepción posible, la de que la lista esté vacía struct nodo { int dato; struct nodo *siguiente; };
  • 12. Aplicaciones  SIMPLE  Se pude utilizar para hallar los elementos de una fila de personas  Puede ser utilizada para un cronograma de actividades diarias  DOBLE  Se puede utilizar para almacenar información como los botones de adelante y atrás del browser.  Puede ser utilizada para los datos de transacción de una cuenta bancaria  CIRCULAR  Puede ser utilizada para almacenar una sucesión de imágenes de un experimento.  Puede ser utilizada para almacenar una sucesión de imágenes de un experimento
  • 13. Ejercicios  Utilizando listas dobles guardar libros con su respectiva información, incluir datos del autor y de la editorial  Realizar un programa el cual se deba ingresar una palabra, después la misma palabra y una nueva, y que diga si la primera palabra fue ingresada en la segunda vez  Ingresar números aleatorios en una lista y que luego me muestre la lista ordenada ascendentemente  Ingresar un número de cédula y que vaya separando de dos en dos, sumar cada dígito hasta que me queden solo de una cifra y calcular cuantos números perfectos tengo  Realizar un snake usando listas doblemente enlazadas