SlideShare una empresa de Scribd logo
1 de 10
UNIVERSIDAD FERMIN TORO
VICE-RECTORADO ACADEMICO
DECANATO DE INGENIERIA
ESCUELA DE COMPUTACION
Bachiller: Yanko Duran
C.I.: 20155416
Materia: Estructuras de Datos
Seccion: SAIA “A”
QUE ES UNA LISTA ENCADENADA O ENLAZADA?
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 (punteros) al nodo anterior o posterior. El principal beneficio de las listas
enlazadas respecto a los arreglos convencionales es que el orden de los elementos
enlazados puede ser diferente al orden de almacenamiento en la memoria o el
disco, permitiendo que el orden de recorrido de la lista sea diferente al de
almacenamiento, además de no requerir memoria extra para soportar la
expansión.
Los operadores básicos de una lista enlazada son:
• Insertar: inserta un nodo con dato x en la lista, pudiendo realizarse esta inserción al principio
o final de la lista o bien en orden.
• Eliminar: elimina un nodo de la lista, puede ser según la posición o por el dato.
• Buscar: busca un elemento en la lista.
• Localizar: obtiene la posición del nodo en la lista.
• Vaciar: borra todos los elementos de la lista
• Existen diferentes tipos de listas enlazadas: Lista Enlazadas Simples, Listas Doblemente
Enlazadas y Listas Enlazadas Circulares.
• Listas enlazadas simples:
Tiene un enlace por nodo, este enlace apunta al siguiente nodo en la lista, o al valor
NULL o a la lista vacía, si es el último nodo. Una lista enlazada simple contiene dos valores: el
valor actual del nodo y un enlace al siguiente nodo.
• Listas doblemente enlazadas o Lista de dos vías:
Cada nodo tiene dos enlaces:
1.- Uno apunta al nodo anterior, o apunta al valor NULL si es el primer nodo.
2.- Otro que apunta al nodo siguiente o apunta al valor NULL si es el último nodo
Clasificacion de las listas enlazadas
• Listas enlazadas circulares :
El primer y último nodo está unido. Podemos empezar por cualquier nodo y seguir la lista
en cualquier dirección hasta que se regrese hasta el nodo original. Vistas como listas sin
comienzo ni fin, usado para dirigir buffers para “ingerir” datos, y para visitar todos los nodos de
una lista a partir de uno dado. Una lista enlazada circular que contiene tres valores enteros.
Estos también pueden ser :
Circulares simples: Cada nodo tiene un enlace ;El siguiente nodo del último apunta al primero.
Como es una lista enlazada simple, los nuevos nodos pueden ser solo eficientemente
insertados después de uno que ya tengamos referenciado. Permite rápidas inserciones al
principio y también permite accesos al primer nodo desde el puntero de último nodo.
Circulares doblemente enlazadas: Cada nodo tiene dos enlaces. Enlace anterior del primer
nodo apunta al último y el enlace siguiente del último nodo apunta al primero. Las inserciones
y eliminaciones pueden ser hechas desde cualquier punto con acceso a algún nodo cercano.
Aunque estructuralmente una lista circular doblemente enlazada no tiene ni principio ni fin.
EJEMPLOS:
EJEMPLO:
#include <stdio.h>
struct _agenda {
char nombre[20];
char telefono[12];
struct _agenda *siguiente;
};
struct _agenda *primero, *ultimo;
void mostrar_menu() {
printf("nnMenú:n=====nn");
printf("1.- Añadir elementosn");
printf("2.- Borrar elementosn");
printf("3.- Mostrar listan");
printf("4.- Salirnn");
printf("Escoge una opción: ");fflush(stdout);
}
/* Con esta función añadimos un elemento al final de la lista */
void anadir_elemento() {
struct _agenda *nuevo;
/* reservamos memoria para el nuevo elemento */
nuevo = (struct _agenda *) malloc (sizeof(struct _agenda));
if (nuevo==NULL) printf( "No hay memoria disponible!n");
printf("nNuevo elemento:n");
printf("Nombre: "); fflush(stdout);
gets(nuevo->nombre);
printf("Teléfono: "); fflush(stdout);
gets(nuevo->telefono);
/* el campo siguiente va a ser NULL por ser el último elemento
de la lista */
nuevo->siguiente = NULL;
/* ahora metemos el nuevo elemento en la lista. lo situamos
al final de la lista */
/* comprobamos si la lista está vacía. si primero==NULL es que no
hay ningún elemento en la lista. también vale ultimo==NULL */
if (primero==NULL) {
printf( "Primer elementon");
primero = nuevo;
ultimo = nuevo;
}
else {
/* el que hasta ahora era el último tiene que apuntar al nuevo */
ultimo->siguiente = nuevo;
/* hacemos que el nuevo sea ahora el último */
ultimo = nuevo;
}
}
void mostrar_lista() {
struct _agenda *auxiliar; /* lo usamos para recorrer la lista */
int i;
i=0;
auxiliar = primero;
printf("nMostrando la lista completa:n");
while (auxiliar!=NULL) {
printf( "Nombre: %s, Telefono: %sn",
auxiliar->nombre,auxiliar->telefono);
auxiliar = auxiliar->siguiente;
i++;
}
if (i==0) printf( "nLa lista está vacía!!n" );
}
int main() {
char opcion;
primero = (struct _agenda *) NULL;
ultimo = (struct _agenda *) NULL;
do {
mostrar_menu();
opcion = getch();
switch ( opcion ) {
case '1': anadir_elemento();
break;
case '2': printf("No disponible
todavía!n");
break;
case '3': mostrar_lista(primero);
break;
case '4': exit( 1 );
default: printf( "Opción no válidan" );
break;
}
} while (opcion!='4');
}
/*FIN DEL PROGRAMA*/

Más contenido relacionado

La actualidad más candente

Estructura de datos_Listas encadenadas presentacion
Estructura de datos_Listas encadenadas  presentacionEstructura de datos_Listas encadenadas  presentacion
Estructura de datos_Listas encadenadas presentacionGabriely Peña
 
Listas Encadenadas Jose Tannous
Listas Encadenadas Jose TannousListas Encadenadas Jose Tannous
Listas Encadenadas Jose TannousJose Tannous
 
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 datospepelebu1313
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colasknowallrpa
 
Aplicaciòn de las estructuras de datos
Aplicaciòn de las estructuras de datosAplicaciòn de las estructuras de datos
Aplicaciòn de las estructuras de datosK Manuel TN
 
Listas c#
Listas c#Listas c#
Listas c#rezzaca
 
Unidad tres estructura de datos
Unidad tres estructura de datosUnidad tres estructura de datos
Unidad tres estructura de datosRené Sosa Arana
 
ED Listas, Pilas y Colas
ED Listas, Pilas y ColasED Listas, Pilas y Colas
ED Listas, Pilas y Colasiventura26
 
Estructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesEstructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesJosé Antonio Sandoval Acosta
 
Unidad 3 estructura lineales
Unidad 3 estructura linealesUnidad 3 estructura lineales
Unidad 3 estructura linealesEnrique2194
 
Estructura de dato unidad 3
Estructura de dato unidad 3Estructura de dato unidad 3
Estructura de dato unidad 3lenithoz
 

La actualidad más candente (20)

Estructura de datos_Listas encadenadas presentacion
Estructura de datos_Listas encadenadas  presentacionEstructura de datos_Listas encadenadas  presentacion
Estructura de datos_Listas encadenadas presentacion
 
Listas Encadenadas Jose Tannous
Listas Encadenadas Jose TannousListas Encadenadas Jose Tannous
Listas Encadenadas Jose Tannous
 
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
 
Teoria de listas
Teoria de listasTeoria de listas
Teoria de listas
 
Unidad 3 Listas Java
Unidad 3 Listas JavaUnidad 3 Listas Java
Unidad 3 Listas Java
 
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
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Aplicaciòn de las estructuras de datos
Aplicaciòn de las estructuras de datosAplicaciòn de las estructuras de datos
Aplicaciòn de las estructuras de datos
 
Listas,pilas&colas yorka
Listas,pilas&colas yorkaListas,pilas&colas yorka
Listas,pilas&colas yorka
 
Programación 3: colas
Programación 3: colasProgramación 3: colas
Programación 3: colas
 
Listas c#
Listas c#Listas c#
Listas c#
 
Estructuras de datos lineales
Estructuras de datos linealesEstructuras de datos lineales
Estructuras de datos lineales
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Unidad tres estructura de datos
Unidad tres estructura de datosUnidad tres estructura de datos
Unidad tres estructura de datos
 
ED Listas, Pilas y Colas
ED Listas, Pilas y ColasED Listas, Pilas y Colas
ED Listas, Pilas y Colas
 
Estructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesEstructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras Lineales
 
Unidad 3 estructura lineales
Unidad 3 estructura linealesUnidad 3 estructura lineales
Unidad 3 estructura lineales
 
CURSO DE DB2 DEMO
CURSO DE DB2 DEMOCURSO DE DB2 DEMO
CURSO DE DB2 DEMO
 
Estructuras lineales
Estructuras linealesEstructuras lineales
Estructuras lineales
 
Estructura de dato unidad 3
Estructura de dato unidad 3Estructura de dato unidad 3
Estructura de dato unidad 3
 

Similar a Listas encadenadas

Estructura de datos
Estructura de datosEstructura de datos
Estructura de datoscharlezgt
 
listas Luis Guarata 31332901.pdf
listas Luis Guarata 31332901.pdflistas Luis Guarata 31332901.pdf
listas Luis Guarata 31332901.pdfLuisAGuarata
 
Listas, pilas y colas richard ramos 09-1130
Listas, pilas y colas   richard ramos 09-1130Listas, pilas y colas   richard ramos 09-1130
Listas, pilas y colas richard ramos 09-1130reyarturo16
 
Diapositiva de l estructura de datos
Diapositiva de l estructura de datosDiapositiva de l estructura de datos
Diapositiva de l estructura de datosmariajuly
 
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 colasLissette I. Pimentel S
 
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
 
Estructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasEstructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasElias Peña
 
Estructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasEstructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasElias Peña
 
Estructura de datos evidencias
Estructura de datos evidenciasEstructura de datos evidencias
Estructura de datos evidenciaslenithoz
 
Informe declaracion de listas David Ratmiroff.pdf
Informe declaracion de listas David Ratmiroff.pdfInforme declaracion de listas David Ratmiroff.pdf
Informe declaracion de listas David Ratmiroff.pdfYuriratmiroff
 

Similar a Listas encadenadas (20)

Ensayo implementacion listas
Ensayo implementacion listasEnsayo implementacion listas
Ensayo implementacion listas
 
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
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Nelson Villacres listas
Nelson Villacres listasNelson Villacres listas
Nelson Villacres listas
 
Listas de Java
Listas de JavaListas de Java
Listas de Java
 
listas Luis Guarata 31332901.pdf
listas Luis Guarata 31332901.pdflistas Luis Guarata 31332901.pdf
listas Luis Guarata 31332901.pdf
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Listas
ListasListas
Listas
 
Listas, pilas y colas richard ramos 09-1130
Listas, pilas y colas   richard ramos 09-1130Listas, pilas y colas   richard ramos 09-1130
Listas, pilas y colas richard ramos 09-1130
 
05 listas1 t2018
05 listas1 t201805 listas1 t2018
05 listas1 t2018
 
Diapositiva de l estructura de datos
Diapositiva de l estructura de datosDiapositiva de l estructura de datos
Diapositiva de l estructura de datos
 
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
 
Lista, pilas y colas
Lista, pilas y colasLista, pilas y colas
Lista, pilas y colas
 
universidad F. T.
universidad F. T.universidad F. T.
universidad F. T.
 
Estructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasEstructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colas
 
Estructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasEstructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colas
 
Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
Estructura de datos evidencias
Estructura de datos evidenciasEstructura de datos evidencias
Estructura de datos evidencias
 
Informe declaracion de listas David Ratmiroff.pdf
Informe declaracion de listas David Ratmiroff.pdfInforme declaracion de listas David Ratmiroff.pdf
Informe declaracion de listas David Ratmiroff.pdf
 

Más de Manuel Bocaranda

Más de Manuel Bocaranda (12)

Diseno estructurado
Diseno estructuradoDiseno estructurado
Diseno estructurado
 
Requerimientos de sistemas y desarrollo de prototipo
Requerimientos de sistemas y desarrollo de prototipoRequerimientos de sistemas y desarrollo de prototipo
Requerimientos de sistemas y desarrollo de prototipo
 
Maquina de estado finito manuel
Maquina de estado finito   manuelMaquina de estado finito   manuel
Maquina de estado finito manuel
 
Mandala Grupos y codigos !
Mandala  Grupos y codigos !Mandala  Grupos y codigos !
Mandala Grupos y codigos !
 
Joiver sierra
Joiver sierraJoiver sierra
Joiver sierra
 
Mapa conceptual grafos
Mapa conceptual grafosMapa conceptual grafos
Mapa conceptual grafos
 
Ejercicio grafos manuel escobar
Ejercicio grafos manuel escobarEjercicio grafos manuel escobar
Ejercicio grafos manuel escobar
 
mapa de riesgos yankoduran
mapa de riesgos yankoduran mapa de riesgos yankoduran
mapa de riesgos yankoduran
 
Lesiones de manos
Lesiones de manosLesiones de manos
Lesiones de manos
 
Incendios
IncendiosIncendios
Incendios
 
asectos legales
asectos legalesasectos legales
asectos legales
 
Enlaces quimicos
Enlaces quimicos Enlaces quimicos
Enlaces quimicos
 

Último

DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxCeciliaGuerreroGonza1
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
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
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
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
 
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
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuelacocuyelquemao
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 

Último (20)

DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020
 
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
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
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
 
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
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuela
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 

Listas encadenadas

  • 1. UNIVERSIDAD FERMIN TORO VICE-RECTORADO ACADEMICO DECANATO DE INGENIERIA ESCUELA DE COMPUTACION Bachiller: Yanko Duran C.I.: 20155416 Materia: Estructuras de Datos Seccion: SAIA “A”
  • 2. QUE ES UNA LISTA ENCADENADA O ENLAZADA? 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 (punteros) al nodo anterior o posterior. El principal beneficio de las listas enlazadas respecto a los arreglos convencionales es que el orden de los elementos enlazados puede ser diferente al orden de almacenamiento en la memoria o el disco, permitiendo que el orden de recorrido de la lista sea diferente al de almacenamiento, además de no requerir memoria extra para soportar la expansión.
  • 3. Los operadores básicos de una lista enlazada son: • Insertar: inserta un nodo con dato x en la lista, pudiendo realizarse esta inserción al principio o final de la lista o bien en orden. • Eliminar: elimina un nodo de la lista, puede ser según la posición o por el dato. • Buscar: busca un elemento en la lista. • Localizar: obtiene la posición del nodo en la lista. • Vaciar: borra todos los elementos de la lista
  • 4. • Existen diferentes tipos de listas enlazadas: Lista Enlazadas Simples, Listas Doblemente Enlazadas y Listas Enlazadas Circulares. • Listas enlazadas simples: Tiene un enlace por nodo, este enlace apunta al siguiente nodo en la lista, o al valor NULL o a la lista vacía, si es el último nodo. Una lista enlazada simple contiene dos valores: el valor actual del nodo y un enlace al siguiente nodo. • Listas doblemente enlazadas o Lista de dos vías: Cada nodo tiene dos enlaces: 1.- Uno apunta al nodo anterior, o apunta al valor NULL si es el primer nodo. 2.- Otro que apunta al nodo siguiente o apunta al valor NULL si es el último nodo Clasificacion de las listas enlazadas
  • 5. • Listas enlazadas circulares : El primer y último nodo está unido. Podemos empezar por cualquier nodo y seguir la lista en cualquier dirección hasta que se regrese hasta el nodo original. Vistas como listas sin comienzo ni fin, usado para dirigir buffers para “ingerir” datos, y para visitar todos los nodos de una lista a partir de uno dado. Una lista enlazada circular que contiene tres valores enteros. Estos también pueden ser : Circulares simples: Cada nodo tiene un enlace ;El siguiente nodo del último apunta al primero. Como es una lista enlazada simple, los nuevos nodos pueden ser solo eficientemente insertados después de uno que ya tengamos referenciado. Permite rápidas inserciones al principio y también permite accesos al primer nodo desde el puntero de último nodo. Circulares doblemente enlazadas: Cada nodo tiene dos enlaces. Enlace anterior del primer nodo apunta al último y el enlace siguiente del último nodo apunta al primero. Las inserciones y eliminaciones pueden ser hechas desde cualquier punto con acceso a algún nodo cercano. Aunque estructuralmente una lista circular doblemente enlazada no tiene ni principio ni fin.
  • 7. EJEMPLO: #include <stdio.h> struct _agenda { char nombre[20]; char telefono[12]; struct _agenda *siguiente; }; struct _agenda *primero, *ultimo; void mostrar_menu() { printf("nnMenú:n=====nn"); printf("1.- Añadir elementosn"); printf("2.- Borrar elementosn"); printf("3.- Mostrar listan"); printf("4.- Salirnn"); printf("Escoge una opción: ");fflush(stdout); }
  • 8. /* Con esta función añadimos un elemento al final de la lista */ void anadir_elemento() { struct _agenda *nuevo; /* reservamos memoria para el nuevo elemento */ nuevo = (struct _agenda *) malloc (sizeof(struct _agenda)); if (nuevo==NULL) printf( "No hay memoria disponible!n"); printf("nNuevo elemento:n"); printf("Nombre: "); fflush(stdout); gets(nuevo->nombre); printf("Teléfono: "); fflush(stdout); gets(nuevo->telefono); /* el campo siguiente va a ser NULL por ser el último elemento de la lista */ nuevo->siguiente = NULL; /* ahora metemos el nuevo elemento en la lista. lo situamos al final de la lista */
  • 9. /* comprobamos si la lista está vacía. si primero==NULL es que no hay ningún elemento en la lista. también vale ultimo==NULL */ if (primero==NULL) { printf( "Primer elementon"); primero = nuevo; ultimo = nuevo; } else { /* el que hasta ahora era el último tiene que apuntar al nuevo */ ultimo->siguiente = nuevo; /* hacemos que el nuevo sea ahora el último */ ultimo = nuevo; } } void mostrar_lista() { struct _agenda *auxiliar; /* lo usamos para recorrer la lista */ int i; i=0; auxiliar = primero; printf("nMostrando la lista completa:n");
  • 10. while (auxiliar!=NULL) { printf( "Nombre: %s, Telefono: %sn", auxiliar->nombre,auxiliar->telefono); auxiliar = auxiliar->siguiente; i++; } if (i==0) printf( "nLa lista está vacía!!n" ); } int main() { char opcion; primero = (struct _agenda *) NULL; ultimo = (struct _agenda *) NULL; do { mostrar_menu(); opcion = getch(); switch ( opcion ) { case '1': anadir_elemento(); break; case '2': printf("No disponible todavía!n"); break; case '3': mostrar_lista(primero); break; case '4': exit( 1 ); default: printf( "Opción no válidan" ); break; } } while (opcion!='4'); } /*FIN DEL PROGRAMA*/