SlideShare una empresa de Scribd logo
Listas Doblemente Enlazadas
izq           der

                    struct moldenodo    {
                             int clave;
                             struct moldenodo *izq;
      clave         };
                             struct moldenodo *der;


                    typedef struct moldenodo nodo;
                    typedef nodo *pnodo;
pnodo CreaNodo(int dato){
  izq          der
                               pnodo pn = NULL;
                               pn = (pnodo) malloc(sizeof(nodo));
                               if ( pn != NULL) {
                                           pn->clave=dato;
        dato                               pn->izq=NULL;
                                           pn->der=NULL;
                               }
NULL           NULL            return(pn);
                      }
pnodo InsertarAlInicio(pnodo n){

         if(lista==NULL)
                     lista=n;
         else if (n != NULL) {
                     n->der=lista;
                     n->izq=NULL;    lista
                     lista = n;
         }
         return (n);                                 n
}




                                             dato
                                     NULL           NULL
pnodo InsertarAlInicio(pnodo n){

         if(lista==NULL)
                     lista=n;
         else if (n != NULL) {
                     n->der=lista;
                     n->izq=NULL;
                     lista = n;
         }                                  lista     n
         return (n);
}




                                                    dato
                                     NULL                  NULL
pnodo InsertarAlInicio(pnodo n){
                                                      n
         if(lista==NULL)
                     lista=n;
         else if (n != NULL) {
                     n->der=lista;
                     n->izq=NULL;            dato4
                     lista = n;
         }
         return (n);
}


             lista




                     dato1           dato2    dato3
pnodo InsertarAlInicio(pnodo n){

         if(lista==NULL)
                     lista=n;
         else if (n != NULL) {
                     n->der=lista;
                     lista->izq=n;
                     n->izq=NULL;
                     lista = n;
         }
         return (n);
}


                n            lista




        dato4                   dato1   dato2   dato3
pnodo InsertarAlInicio(pnodo n){

            if(lista==NULL)
                        lista=n;
            else if (n != NULL) {
                        n->der=lista;
                        lista->izq=n;
                        n->izq=NULL;
                        lista = n;
            }
            return (n);
}


    lista           n




            dato4                  dato1   dato2   dato3
Void DescartarPrimero(void){

         pnodo t = lista;
         if (lista==NULL) {
                    printf(“La lista esta vacía”);
         }else{
                    lista=lista->der;
                    lista->izq=NULL;
                    free(t);
                    printf(“Se borro el primer elemento de la lista”);
         }
}

                                        lista
Void DescartarPrimero(void){

            pnodo t = lista;
            if (lista==NULL) {
                       printf(“La lista esta vacía”);
            }else{
                       lista=lista->der;
                       lista->izq=NULL;
                       free(t);
                       printf(“Se borro el primer elemento de la lista”);
            }
}


    lista   t




            dato4                  dato1                   dato2            dato3
Void DescartarPrimero(void){

         pnodo t = lista;
         if (lista==NULL) {
                    printf(“La lista esta vacía”);
         }else{
                    lista=lista->der;
                    lista->izq=NULL;
                    free(t);
                    printf(“Se borro el primer elemento de la lista”);
         }
}


        t                  lista




         dato4                     dato1                dato2            dato3
Void DescartarPrimero(void){

         pnodo t = lista;
         if (lista==NULL) {
                    printf(“La lista esta vacía”);
         }else{
                    lista=lista->der;
                    lista->izq=NULL;
                    free(t);
                    printf(“Se borro el primer elemento de la lista”);
         }
}



                 lista




                         dato1               dato2                  dato3
Crear la función de buscar un nodo
     en especial y eliminarlo.

Crear la función de insertar un nodo
            en una lista.

Más contenido relacionado

La actualidad más candente (18)

Codigo del metodo de ordenamiento Radixsort
Codigo del metodo de ordenamiento RadixsortCodigo del metodo de ordenamiento Radixsort
Codigo del metodo de ordenamiento Radixsort
 
Feb28
Feb28Feb28
Feb28
 
LISTAS ESPECIALES
LISTAS ESPECIALESLISTAS ESPECIALES
LISTAS ESPECIALES
 
ESTRUCTURAS Y ALGORITMOS II (I Bimestre Abril Agosto 2011)
ESTRUCTURAS Y ALGORITMOS II (I Bimestre Abril Agosto 2011)ESTRUCTURAS Y ALGORITMOS II (I Bimestre Abril Agosto 2011)
ESTRUCTURAS Y ALGORITMOS II (I Bimestre Abril Agosto 2011)
 
Informe metodos de ordenamiento
Informe metodos de ordenamientoInforme metodos de ordenamiento
Informe metodos de ordenamiento
 
1... conversor de bases
1... conversor de bases1... conversor de bases
1... conversor de bases
 
Ordenamiento burbuja1
Ordenamiento burbuja1Ordenamiento burbuja1
Ordenamiento burbuja1
 
Raices
RaicesRaices
Raices
 
Seguimiento De Mercancías
Seguimiento De MercancíasSeguimiento De Mercancías
Seguimiento De Mercancías
 
Integral Definida
Integral DefinidaIntegral Definida
Integral Definida
 
Informe tecnico u 5-victor uex
Informe tecnico u 5-victor uexInforme tecnico u 5-victor uex
Informe tecnico u 5-victor uex
 
Practicas segundo parcial de programacion avanzada
Practicas segundo parcial de programacion avanzadaPracticas segundo parcial de programacion avanzada
Practicas segundo parcial de programacion avanzada
 
Función
FunciónFunción
Función
 
Código Arbol Binario de Búsqueda.docx
Código Arbol Binario de Búsqueda.docxCódigo Arbol Binario de Búsqueda.docx
Código Arbol Binario de Búsqueda.docx
 
Estadistica grupo2
Estadistica grupo2Estadistica grupo2
Estadistica grupo2
 
Rubenmajano
RubenmajanoRubenmajano
Rubenmajano
 
!Prograc6
!Prograc6!Prograc6
!Prograc6
 
Ejercicio sencillos en c
Ejercicio sencillos en cEjercicio sencillos en c
Ejercicio sencillos en c
 

Similar a Lista doblemente enlazada (6)

Lista enlazada 2 parcial
Lista enlazada 2 parcialLista enlazada 2 parcial
Lista enlazada 2 parcial
 
Lista simple
Lista simpleLista simple
Lista simple
 
Estructura de datos I Primera Parte
Estructura de datos I Primera ParteEstructura de datos I Primera Parte
Estructura de datos I Primera Parte
 
Aplicacion
AplicacionAplicacion
Aplicacion
 
Aplicacion
AplicacionAplicacion
Aplicacion
 
Listasenlazadas 100517143015-phpapp02
Listasenlazadas 100517143015-phpapp02Listasenlazadas 100517143015-phpapp02
Listasenlazadas 100517143015-phpapp02
 

Más de Piero Divasto (6)

Arboles AVL
Arboles AVLArboles AVL
Arboles AVL
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binarios
 
Colas
ColasColas
Colas
 
Hash
HashHash
Hash
 
Listas simplemente enlazadas
Listas simplemente enlazadasListas simplemente enlazadas
Listas simplemente enlazadas
 
Presentacion Final Proyecto de Título
Presentacion Final Proyecto de TítuloPresentacion Final Proyecto de Título
Presentacion Final Proyecto de Título
 

Último

Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
sandradianelly
 
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfAsistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Demetrio Ccesa Rayme
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
Ruben53283
 
diagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestasdiagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestas
ansomora123
 
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia leeevalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
MaribelGaitanRamosRa
 

Último (20)

263818760-Un-Embrujo-de-Cinco-Siglos.doc
263818760-Un-Embrujo-de-Cinco-Siglos.doc263818760-Un-Embrujo-de-Cinco-Siglos.doc
263818760-Un-Embrujo-de-Cinco-Siglos.doc
 
Proyecto integrador Vereda Cujacal Centro.pptx
Proyecto integrador Vereda Cujacal Centro.pptxProyecto integrador Vereda Cujacal Centro.pptx
Proyecto integrador Vereda Cujacal Centro.pptx
 
6.Deícticos Dos_Enfermería_EspanolAcademico
6.Deícticos Dos_Enfermería_EspanolAcademico6.Deícticos Dos_Enfermería_EspanolAcademico
6.Deícticos Dos_Enfermería_EspanolAcademico
 
Módulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptx
Módulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptxMódulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptx
Módulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptx
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
 
2º conclusiones descriptivas educacion fisica (1).docx
2º conclusiones descriptivas educacion fisica (1).docx2º conclusiones descriptivas educacion fisica (1).docx
2º conclusiones descriptivas educacion fisica (1).docx
 
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfAsistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
 
True Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdfTrue Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdf
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
 
Tarrajeo, tipos de tarrajeos, empastados, solaqueos y otros revestimientos.
Tarrajeo, tipos de tarrajeos, empastados, solaqueos y otros revestimientos.Tarrajeo, tipos de tarrajeos, empastados, solaqueos y otros revestimientos.
Tarrajeo, tipos de tarrajeos, empastados, solaqueos y otros revestimientos.
 
Material-de-Apoyo-Escuela-Sabatica-02-2-2024.pptx.ppt
Material-de-Apoyo-Escuela-Sabatica-02-2-2024.pptx.pptMaterial-de-Apoyo-Escuela-Sabatica-02-2-2024.pptx.ppt
Material-de-Apoyo-Escuela-Sabatica-02-2-2024.pptx.ppt
 
diagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestasdiagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestas
 
Proyecto Integrador 2024. Archiduque entrevistas
Proyecto Integrador 2024. Archiduque entrevistasProyecto Integrador 2024. Archiduque entrevistas
Proyecto Integrador 2024. Archiduque entrevistas
 
32 LECTURAS CORTAS PARA NIÑOS.pdf · versión 1.pdf
32 LECTURAS CORTAS PARA NIÑOS.pdf · versión 1.pdf32 LECTURAS CORTAS PARA NIÑOS.pdf · versión 1.pdf
32 LECTURAS CORTAS PARA NIÑOS.pdf · versión 1.pdf
 
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia leeevalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
 
El fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docxEl fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docx
 
La Hegemonía Liberal en Paraguay 1904 a 1936.ppt
La Hegemonía Liberal en Paraguay 1904 a 1936.pptLa Hegemonía Liberal en Paraguay 1904 a 1936.ppt
La Hegemonía Liberal en Paraguay 1904 a 1936.ppt
 
El fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amorEl fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amor
 

Lista doblemente enlazada

  • 2. izq der struct moldenodo { int clave; struct moldenodo *izq; clave }; struct moldenodo *der; typedef struct moldenodo nodo; typedef nodo *pnodo;
  • 3. pnodo CreaNodo(int dato){ izq der pnodo pn = NULL; pn = (pnodo) malloc(sizeof(nodo)); if ( pn != NULL) { pn->clave=dato; dato pn->izq=NULL; pn->der=NULL; } NULL NULL return(pn); }
  • 4. pnodo InsertarAlInicio(pnodo n){ if(lista==NULL) lista=n; else if (n != NULL) { n->der=lista; n->izq=NULL; lista lista = n; } return (n); n } dato NULL NULL
  • 5. pnodo InsertarAlInicio(pnodo n){ if(lista==NULL) lista=n; else if (n != NULL) { n->der=lista; n->izq=NULL; lista = n; } lista n return (n); } dato NULL NULL
  • 6. pnodo InsertarAlInicio(pnodo n){ n if(lista==NULL) lista=n; else if (n != NULL) { n->der=lista; n->izq=NULL; dato4 lista = n; } return (n); } lista dato1 dato2 dato3
  • 7. pnodo InsertarAlInicio(pnodo n){ if(lista==NULL) lista=n; else if (n != NULL) { n->der=lista; lista->izq=n; n->izq=NULL; lista = n; } return (n); } n lista dato4 dato1 dato2 dato3
  • 8. pnodo InsertarAlInicio(pnodo n){ if(lista==NULL) lista=n; else if (n != NULL) { n->der=lista; lista->izq=n; n->izq=NULL; lista = n; } return (n); } lista n dato4 dato1 dato2 dato3
  • 9. Void DescartarPrimero(void){ pnodo t = lista; if (lista==NULL) { printf(“La lista esta vacía”); }else{ lista=lista->der; lista->izq=NULL; free(t); printf(“Se borro el primer elemento de la lista”); } } lista
  • 10. Void DescartarPrimero(void){ pnodo t = lista; if (lista==NULL) { printf(“La lista esta vacía”); }else{ lista=lista->der; lista->izq=NULL; free(t); printf(“Se borro el primer elemento de la lista”); } } lista t dato4 dato1 dato2 dato3
  • 11. Void DescartarPrimero(void){ pnodo t = lista; if (lista==NULL) { printf(“La lista esta vacía”); }else{ lista=lista->der; lista->izq=NULL; free(t); printf(“Se borro el primer elemento de la lista”); } } t lista dato4 dato1 dato2 dato3
  • 12. Void DescartarPrimero(void){ pnodo t = lista; if (lista==NULL) { printf(“La lista esta vacía”); }else{ lista=lista->der; lista->izq=NULL; free(t); printf(“Se borro el primer elemento de la lista”); } } lista dato1 dato2 dato3
  • 13. Crear la función de buscar un nodo en especial y eliminarlo. Crear la función de insertar un nodo en una lista.