SlideShare uma empresa Scribd logo
1 de 33
TDA LISTA ESTRUCTURAS DE DATOS
OBJETIVOS ,[object Object],[object Object],[object Object],[object Object]
LISTAS: DEFINICION ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
TIPOS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
LISTAS SIMPLES ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
LISTA SIMPLE: NIVEL LOGICO ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],<listaSimple> ::= <comienzo> + {<ref_nodo>} + <final> <comienzo>  ::= <enlace> <final>  ::= <enlace>
TDA NODO: NIVEL LOGICO ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],<nodo>   ::= <contenido> + <enlace> <contenido>  ::= <dato>{<dato>} <enlace>  ::= <referencia_nodo> | <referencia_invalida>
LISTAS SIMPLES: NIVEL DE IMPLEMENTACION ,[object Object],[object Object],[object Object],[object Object],[object Object]
IMPLEMENTACION CONTIGUA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],En uso Desperdicio 25 Al insertarse un nuevo elemento, en una cierta posición, todos los elementos restantes ruedan 10 0 5 1 8 2 2 3 31 4 5 6 7 8 25 3 2 4 5 6 7 8 31
CONTIGUAS: OPERACIONES ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
CONTIGUAS: DECLARACION ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],typedef struct{ int ultimo; ArrayU Elementos; }LSCont; Elementos 10 0 5 1 8 2 25 3 2 4 5 6 7 8 31 header=0 MAX last
CONTIGUA: BASICAS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],bool LSCont_EstaVacia(LSCont L){ return(L.ultimo<0); } bool  LSCont_ EstaLlena( LSCont  L){ return (L.ultimo ==  ArrayU_Tamanio(L.Elementol)-1); } El índice del último elemento debe ser un índice inválido, un valor negativo. No importara que el arreglo tenga elementos pues no serán tomados en cuenta. -1 MAX-1 Si la lista está llena es porque el índice del último ha llegado al verdadero último índice posible en el arreglo: MAX -1 0 1 2 3 4 5 6 7 8 9 last 0 1 2 3 4 5 6 7 8 9 last
CONTIGUA: BUSQUEDA int LSCont_BuscarNodo(LSCont L, Generico G,  Generico_Comparacion fn) { int i; Generico elemento; for(i = 0; i <=L.ultimo;i++){ elemento = ArrayU_ElemC(L.Elementos, i); if(f(elemento, G) == 0) return (i) } return(-1); }
CONTIGUA: INSERTAR bool LSCont_Insertar(LSCont *L, int P, Generico G){ int i,  Generico ele1, ele2; if(LSCont_EstaLlena(L)) return FALSE; if(P<=-1) return FALSE; //MOVER TODOS for(i = L->ultimo; i >=P ;i--){ ele1 = ArrayU_ElemC(L->Elementos,i); ArrayU_ElemM(L->Elementos,i+1, ele1); } ArrayU_ElemM(L->Elementos, 0, G); L->utlimo ++; return TRUE; } bool LSCont_InsertarInicio( LSCont  *L, Generico G){ int i; Generico ele1, ele2; //No insertar si ya esta llena if(LSCont_EstaLlena(L)) return FALSE; //Mover todo hacia delante for(i = L->ultimo; i >=0 ;i--){ ele1 = ArrayU_ElemC(L->Elementos,i); ArrayU_ElemM(L->Elementos,i+1, ele1); } ArrayU_ElemM(L->Elementos, 0, G); L->ultimo++; return(TRUE); } 9 9 4 5 6 7 8 9 0 1 2 8 3 5 1 10 1 2 3 8 4 5 1 10 0 9 4 5 6 7 8 9 0 1 2 8 3 5 1 10 last last last last 1 2 3 8 4 5 1 1 1 9
CONTIGUA: SACAR Generico LSCont_EliminarNodo(LSCont *L, int P){ int i; Generico ele1; if(LSCont_EstaVacia(L)) return FALSE; if(P<=-1) return FALSE //RETROCEDER TODOS for(i = P; i < L->ultimo;i++){ ele1 = ArrayU_ElemC(L->Elementos, i); ArrayU_ElemM(L->Elementos, i+1, ele1); } ele1 = ArrayU_ElemC(L->Elementos, L->last); L->last --; return ele1; } ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Eliminar por Info, dada una cierta información, buscar el elemento que la tenga y eliminarlo 4 5 6 7 8 9 0 1 2 8 3 5 1 10 0 1 2 8 3 8 5 10 3 4 5 6 7 8 last last
LSE: LISTAS SIMPLES ENLAZADAS ,[object Object],[object Object],[object Object],[object Object],[object Object],25 Contenido Enlace NODO A NODO B 10 5 8 2 31 25 C S 2 31 25 C S
TDA LSE_NODO: NIVEL DE IMPLEMENTACION ,[object Object],[object Object],[object Object],[object Object]
TDA LSE_NODO: OPERACIONES ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
TDA LSE_NODO: DECLARACION ,[object Object],[object Object],[object Object],typedef struct T LSE_Nodo { Generico G; struct T LSE_Nodo  *sig; }  LSE_ Nodo; typedef  LSE_Nodo  *  LSE_NodoPtr ;
LSE_NODO: CREAR Y DESTRUIR ,[object Object],[object Object],LSE_nodo *LSE_CrearNodo(Generico G) { LSE_nodo *p; p = (LSE_nodo *)malloc(sizeof(LSE_nodo)); if(p) { p->G = G; p->sig = NULL; } return  p; } void LSE_EliminarNodo(LSE_nodo *p) { if(p) { free(p); p = NULL; } }
LSE: NIVEL DE IMPLEMENTACION ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
LSE: OPERACIONES ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
LSE: DECLARACIÓN ,[object Object],[object Object],[object Object],typedef struct{   LSE_Nodo  *header;   LSE_Nodo  *last; }LSE; typedef  LSE_Nodo  * LSE;
LSE: CREAR y DESTRUIR ,[object Object],[object Object],void LSE_Vaciar(LSE *L){ LSE_nodo *p; while(!LSE_EstaVacia(*L)){ p = LSE_SacarNodoFin(L); LSE_Nodo_Eliminar(p); } } LSE *LSE_CrearLista(){ LSE *lnueva; lnueva = malloc(sizeof(LSE)); lnueva->header = lnueva->last = NULL; return lnueva; } header last
LSE: BUSQUEDA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],LSE_nodo *LSE_BuscarNodo(LSE L,  Generico G,  Generico_fnComparar f){ LSE_nodo *p; for(p = L.header; p!= NULL; p = LSE_Nodo_Siguiente(p)){ if(f(LSE_Nodo_Contenido(p),G) ==0) return(p); } return(NULL); } Busco 25 Busco 30 Recomendación: Usemos el  comportamiento  de LSE_Nodo, no el  estado 10 5 8 2 31 25 last header p p p p p p p p p p p
LSE: ANTERIOR ,[object Object],[object Object],[object Object],[object Object],LSE_nodo * LSE_Anterior(LSE L, LSE_nodo *p){ LSE_nodo *q; if(LSE_EstaVacia(L)) return NULL; if(L.header == p) return NULL; for(q=L.header; q!=NULL;q=q->sig){ if(q->sig ==p) return(q); } return(NULL); } La posición p es la de un nodo fuera de la lista Ejemplo al usar el estado de LSE_Nodo 10 5 8 2 31 25 last header p q q q 7 p q q q q q q q
LSE: PRIMERO Y ULTIMO ,[object Object],[object Object],LSE_nodo *LSE_NodoInicio(LSE L){ return (L.header); } LSE_nodo *LSE_NodoFin(LSE L){ return (L.last); }
LSE: INSERTAR ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
INSERCION AL INICIO/FINAL bool LSE_InsertarNodoInicio(LSE *L, LSE_nodo *nuevo){ if (!nuevo) return FALSE; if(LSE_EstaVacia(*L)){ L->header = L->last = nuevo; } else{ LSE_Nodo_ModificarEnlace( nuevo, L->header); L->header = nuevo; } return(TRUE); } bool LSE_InsertarNodoFin(LSE *L, LSE_nodo *nuevo){ if(!nuevo) return FALSE; if(LSE_EstaVacia(*L)){ L->header = L->last = nuevo; } else{ LSE_Nodo_ModificarEnlace(L->last,, nuevo); L->last = nuevo; } return(TRUE); } nuevo->sig = header; header = nuevo; last->sig = nuevo; last = nuevo; Si la lista esta vacía, tanto header como last apuntan al nuevo nodo Si no, si es al inicio el nuevo header, es el nuevo nodo Si no, si es al final, el nuevo last es el nuevo nodo 10 5 8 2 31 25 last header 9 nuevo header 18 nuevo last
INSERTAR EN MEDIO ,[object Object],[object Object],[object Object],[object Object],[object Object],bool LSE_Insertar(LSE *L,  LSE_nodo *p,  LSE_nodo *nuevo){ if(L->last==p){//Insertar al final return(LSE_InsertarNodoFin(L, nuevo)); }else{ if(!p  || ! LSE_ExisteNodo(*L,p))  return FALSE; if(LSE_EstaVacia(*L)) L->header = L->last = nuevo; else{ LSE_Nodo_ModificarEnlace( nuevo, LSE_Nodo_Siguiente(p)); LSE_Nodo_ModificarEnlace(p, nuevo); } } return(TRUE); } Nuevo->sig = p->sig; p->sig = nuevo; header = last = nuevo: 10 5 8 2 31 25 header last p 18 nuevo header last 18 nuevo header last
LSE: SACAR DE LA LISTA ,[object Object],LSE_nodo *LSE_SacarNodoInicio(LSE *L){ LSE_nodo *tmp = L->header; if(LSE_EstaVacia(*L)) return NULL; if(L->header == L->last) LSE_InicializarLista(L); else { L->header = L->header->sig; } return(tmp); } LSE_nodo *LSE_SacarNodoFin(LSE *L){ LSE_nodo *tmp=L->header; if(LSE_EstaVacia(*L)) return NULL; if(L->header == L->last) LSE_InicializarLista(L); else{ tmp = L->last; L->last = LSE_Anterior(*L, L->last); L->last->sig = NULL; } return(tmp); } Tmp = header; Header = header->sig; free(tmp); tmp = last; Last = Anterior(Last); free(tmp); Last->sig = NULL; 10 5 8 2 31 25 header last tmp header tmp last
LSE: SACAR JUSTO UN NODO ,[object Object],[object Object],[object Object],bool LSE_EliminarxPos(LSE *L, LSE_nodo *p){ LSE_nodo *p_ant; if(LSE_EstaVacia(*L)) return 0; if(!p || !LSE_ExisteNodo(*L, p))  return FALSE; if(p==L->header) LSE_SacarNodoInicio(L); else if(p == L->last) LSE_SacarNodoFin(L); else{ p_ant = LSE_Anterior(*L,p); p_ant->sig = p->sig; p->sig = NULL; } return(TRUE); } p_ant = Anterior(p); p_ant->sig = p->sig; free(p); 10 5 8 2 31 25 header last p pant
VISUALIZAR ,[object Object],void LSE_Recorrer(LSE L, Generico_fnImprimir fn){ LSE_nodo *p; for( p = L.header; p!=NULL; p = p->sig) fn(p->G); }

Mais conteúdo relacionado

Mais procurados

Presentacion de Listas, Pilas y Colas
Presentacion de Listas, Pilas y ColasPresentacion de Listas, Pilas y Colas
Presentacion de Listas, Pilas y ColasKate Pros
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicojosecuartas
 
Importancia de las listas Estructura de datos.
Importancia de las listas Estructura de datos.Importancia de las listas Estructura de datos.
Importancia de las listas Estructura de datos.xaviercamposm
 
Listas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas CircularesListas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas CircularesMago Julio Cesar
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos josecuartas
 
Listas Enlazadas
Listas EnlazadasListas Enlazadas
Listas EnlazadasVane Borjas
 
Insertar elementos en una cola
Insertar elementos en una colaInsertar elementos en una cola
Insertar elementos en una colajeffersoncenteno
 
Estructura de datos : Cola
Estructura de datos : ColaEstructura de datos : Cola
Estructura de datos : ColaEmerson Garay
 
Oracle PLSQL Step By Step Guide
Oracle PLSQL Step By Step GuideOracle PLSQL Step By Step Guide
Oracle PLSQL Step By Step GuideSrinimf-Slides
 
conceptos de Punteros y Nodos
conceptos de Punteros y Nodosconceptos de Punteros y Nodos
conceptos de Punteros y NodosBoris Salleg
 

Mais procurados (20)

Oracle: DML
Oracle: DMLOracle: DML
Oracle: DML
 
Complejidad Algoritmica
Complejidad AlgoritmicaComplejidad Algoritmica
Complejidad Algoritmica
 
Presentacion de Listas, Pilas y Colas
Presentacion de Listas, Pilas y ColasPresentacion de Listas, Pilas y Colas
Presentacion de Listas, Pilas y Colas
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
 
Importancia de las listas Estructura de datos.
Importancia de las listas Estructura de datos.Importancia de las listas Estructura de datos.
Importancia de las listas Estructura de datos.
 
Listas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas CircularesListas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas Circulares
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos
 
Taller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DMLTaller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DML
 
Listas Enlazadas
Listas EnlazadasListas Enlazadas
Listas Enlazadas
 
Listas
ListasListas
Listas
 
Grafos Ponderados
Grafos PonderadosGrafos Ponderados
Grafos Ponderados
 
Pilas Colas
Pilas ColasPilas Colas
Pilas Colas
 
Insertar elementos en una cola
Insertar elementos en una colaInsertar elementos en una cola
Insertar elementos en una cola
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Listas Pilas Colas
Listas Pilas ColasListas Pilas Colas
Listas Pilas Colas
 
Apuntadores y listas
Apuntadores y listasApuntadores y listas
Apuntadores y listas
 
Estructura de datos : Cola
Estructura de datos : ColaEstructura de datos : Cola
Estructura de datos : Cola
 
Trigger in DBMS
Trigger in DBMSTrigger in DBMS
Trigger in DBMS
 
Oracle PLSQL Step By Step Guide
Oracle PLSQL Step By Step GuideOracle PLSQL Step By Step Guide
Oracle PLSQL Step By Step Guide
 
conceptos de Punteros y Nodos
conceptos de Punteros y Nodosconceptos de Punteros y Nodos
conceptos de Punteros y Nodos
 

Destaque

46769481 guia-de-investigacion-de-operaciones-i[1]
46769481 guia-de-investigacion-de-operaciones-i[1]46769481 guia-de-investigacion-de-operaciones-i[1]
46769481 guia-de-investigacion-de-operaciones-i[1]Estudiantes Unamonagas
 
Problema de Asignación
Problema de AsignaciónProblema de Asignación
Problema de AsignaciónJose
 
Problema del Transporte
Problema del TransporteProblema del Transporte
Problema del TransporteJose
 
Tutorial de inscripción curso introductorio
Tutorial de inscripción curso introductorioTutorial de inscripción curso introductorio
Tutorial de inscripción curso introductorioyako10179
 
Computación ii 324-1-estructuras dinamicas-con enlaces
Computación ii   324-1-estructuras dinamicas-con enlacesComputación ii   324-1-estructuras dinamicas-con enlaces
Computación ii 324-1-estructuras dinamicas-con enlacesIsbelia Pelayo
 
Lenguajes De Programacion Web
Lenguajes De Programacion WebLenguajes De Programacion Web
Lenguajes De Programacion Webvictorluis19
 
Trabajo Practico - Investigación de Operaciones II (348) - UNA
Trabajo Practico - Investigación de Operaciones II (348) - UNATrabajo Practico - Investigación de Operaciones II (348) - UNA
Trabajo Practico - Investigación de Operaciones II (348) - UNARonald Alexander Medina Pinto
 
Curso introductorio 2014 2
Curso introductorio 2014 2Curso introductorio 2014 2
Curso introductorio 2014 2ligiafarfan
 
Arquitectura de paginas web
Arquitectura de paginas webArquitectura de paginas web
Arquitectura de paginas webAime Rodriguez
 

Destaque (20)

COLAS
COLASCOLAS
COLAS
 
PILAS
PILASPILAS
PILAS
 
Introducción a Turbo Pascal
Introducción a Turbo PascalIntroducción a Turbo Pascal
Introducción a Turbo Pascal
 
46769481 guia-de-investigacion-de-operaciones-i[1]
46769481 guia-de-investigacion-de-operaciones-i[1]46769481 guia-de-investigacion-de-operaciones-i[1]
46769481 guia-de-investigacion-de-operaciones-i[1]
 
Sesion 05a - Metodo Simplex
Sesion 05a - Metodo SimplexSesion 05a - Metodo Simplex
Sesion 05a - Metodo Simplex
 
Problema de Asignación
Problema de AsignaciónProblema de Asignación
Problema de Asignación
 
Problema del Transporte
Problema del TransporteProblema del Transporte
Problema del Transporte
 
Estrategias objetivo 8
Estrategias objetivo 8Estrategias objetivo 8
Estrategias objetivo 8
 
Tutorial de inscripción curso introductorio
Tutorial de inscripción curso introductorioTutorial de inscripción curso introductorio
Tutorial de inscripción curso introductorio
 
Informe 324
Informe 324Informe 324
Informe 324
 
Concurso Preparador Didácticas Especiales
Concurso Preparador Didácticas EspecialesConcurso Preparador Didácticas Especiales
Concurso Preparador Didácticas Especiales
 
Estudiantes EUS CAPITAL inscritos en secretaría
Estudiantes EUS CAPITAL inscritos en secretaríaEstudiantes EUS CAPITAL inscritos en secretaría
Estudiantes EUS CAPITAL inscritos en secretaría
 
Trabajo Practico - Simulación (337) - UNA
Trabajo Practico - Simulación (337) - UNATrabajo Practico - Simulación (337) - UNA
Trabajo Practico - Simulación (337) - UNA
 
Computación ii 324-1-estructuras dinamicas-con enlaces
Computación ii   324-1-estructuras dinamicas-con enlacesComputación ii   324-1-estructuras dinamicas-con enlaces
Computación ii 324-1-estructuras dinamicas-con enlaces
 
Desarrollo web
Desarrollo webDesarrollo web
Desarrollo web
 
Lenguajes De Programacion Web
Lenguajes De Programacion WebLenguajes De Programacion Web
Lenguajes De Programacion Web
 
mete
metemete
mete
 
Trabajo Practico - Investigación de Operaciones II (348) - UNA
Trabajo Practico - Investigación de Operaciones II (348) - UNATrabajo Practico - Investigación de Operaciones II (348) - UNA
Trabajo Practico - Investigación de Operaciones II (348) - UNA
 
Curso introductorio 2014 2
Curso introductorio 2014 2Curso introductorio 2014 2
Curso introductorio 2014 2
 
Arquitectura de paginas web
Arquitectura de paginas webArquitectura de paginas web
Arquitectura de paginas web
 

Semelhante a LISTAS

ED 03 1_listas
ED 03 1_listasED 03 1_listas
ED 03 1_listasA J
 
Colas y listas generales
Colas y listas generalesColas y listas generales
Colas y listas generalesPatty Torres
 
8 Listas Encadenadas 2a Parte
8 Listas Encadenadas 2a Parte8 Listas Encadenadas 2a Parte
8 Listas Encadenadas 2a ParteUVM
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datoscharlezgt
 
Diapositiva de l estructura de datos
Diapositiva de l estructura de datosDiapositiva de l estructura de datos
Diapositiva de l estructura de datosmariajuly
 
ED Listas, Pilas y Colas
ED Listas, Pilas y ColasED Listas, Pilas y Colas
ED Listas, Pilas y Colasiventura26
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrbviela6
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrbviela6
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrbviela6
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrbviela6
 
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
 
Listas pilascolas edward.mejia-10-1314
Listas pilascolas edward.mejia-10-1314Listas pilascolas edward.mejia-10-1314
Listas pilascolas edward.mejia-10-1314Edward Mejia Gomez
 

Semelhante a LISTAS (20)

7. Listas.ppt
7. Listas.ppt7. Listas.ppt
7. Listas.ppt
 
ED 03 1_listas
ED 03 1_listasED 03 1_listas
ED 03 1_listas
 
Colas y listas generales
Colas y listas generalesColas y listas generales
Colas y listas generales
 
LISTAS ESPECIALES
LISTAS ESPECIALESLISTAS ESPECIALES
LISTAS ESPECIALES
 
8 Listas Encadenadas 2a Parte
8 Listas Encadenadas 2a Parte8 Listas Encadenadas 2a Parte
8 Listas Encadenadas 2a Parte
 
05 listas1 t2018
05 listas1 t201805 listas1 t2018
05 listas1 t2018
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
06 listas1 t2018
06 listas1 t201806 listas1 t2018
06 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
 
ED Listas, Pilas y Colas
ED Listas, Pilas y ColasED Listas, Pilas y Colas
ED Listas, Pilas y Colas
 
Estructuras lineales
Estructuras linealesEstructuras lineales
Estructuras lineales
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
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
 
Lista simple
Lista simpleLista simple
Lista simple
 
Listas pilascolas edward.mejia-10-1314
Listas pilascolas edward.mejia-10-1314Listas pilascolas edward.mejia-10-1314
Listas pilascolas edward.mejia-10-1314
 
Listas
ListasListas
Listas
 

Mais de Gustavo Salazar Loor (20)

Max Plus Compilar vhdl
Max Plus Compilar vhdlMax Plus Compilar vhdl
Max Plus Compilar vhdl
 
ECUADOR
ECUADORECUADOR
ECUADOR
 
Electronica I Clase07
Electronica I Clase07Electronica I Clase07
Electronica I Clase07
 
Electronica I Clase07
Electronica I Clase07Electronica I Clase07
Electronica I Clase07
 
Electronica I Clase06
Electronica I Clase06Electronica I Clase06
Electronica I Clase06
 
Electronica I Clase05
Electronica I Clase05Electronica I Clase05
Electronica I Clase05
 
Electronica I Clase04
Electronica I Clase04Electronica I Clase04
Electronica I Clase04
 
Electronica I Clase03
Electronica I Clase03Electronica I Clase03
Electronica I Clase03
 
Electronica I Clase02
Electronica I Clase02Electronica I Clase02
Electronica I Clase02
 
Electronica I Clase01
Electronica I Clase01Electronica I Clase01
Electronica I Clase01
 
TDA
TDATDA
TDA
 
ARBOLES MULTICAMINOS
ARBOLES MULTICAMINOSARBOLES MULTICAMINOS
ARBOLES MULTICAMINOS
 
GRAFOS
GRAFOSGRAFOS
GRAFOS
 
HEAPS
HEAPSHEAPS
HEAPS
 
ARBOLES
ARBOLESARBOLES
ARBOLES
 
CODIGO DE HUFFMAN
CODIGO DE HUFFMANCODIGO DE HUFFMAN
CODIGO DE HUFFMAN
 
RESPIRACION Y FERMENTACION
RESPIRACION Y FERMENTACIONRESPIRACION Y FERMENTACION
RESPIRACION Y FERMENTACION
 
CODIGO GENETICO
CODIGO GENETICOCODIGO GENETICO
CODIGO GENETICO
 
ATP
ATPATP
ATP
 
DUREZA
DUREZADUREZA
DUREZA
 

Último

Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularMooPandrea
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
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
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 

Último (20)

Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).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...
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 

LISTAS

  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13. CONTIGUA: BUSQUEDA int LSCont_BuscarNodo(LSCont L, Generico G, Generico_Comparacion fn) { int i; Generico elemento; for(i = 0; i <=L.ultimo;i++){ elemento = ArrayU_ElemC(L.Elementos, i); if(f(elemento, G) == 0) return (i) } return(-1); }
  • 14. CONTIGUA: INSERTAR bool LSCont_Insertar(LSCont *L, int P, Generico G){ int i, Generico ele1, ele2; if(LSCont_EstaLlena(L)) return FALSE; if(P<=-1) return FALSE; //MOVER TODOS for(i = L->ultimo; i >=P ;i--){ ele1 = ArrayU_ElemC(L->Elementos,i); ArrayU_ElemM(L->Elementos,i+1, ele1); } ArrayU_ElemM(L->Elementos, 0, G); L->utlimo ++; return TRUE; } bool LSCont_InsertarInicio( LSCont *L, Generico G){ int i; Generico ele1, ele2; //No insertar si ya esta llena if(LSCont_EstaLlena(L)) return FALSE; //Mover todo hacia delante for(i = L->ultimo; i >=0 ;i--){ ele1 = ArrayU_ElemC(L->Elementos,i); ArrayU_ElemM(L->Elementos,i+1, ele1); } ArrayU_ElemM(L->Elementos, 0, G); L->ultimo++; return(TRUE); } 9 9 4 5 6 7 8 9 0 1 2 8 3 5 1 10 1 2 3 8 4 5 1 10 0 9 4 5 6 7 8 9 0 1 2 8 3 5 1 10 last last last last 1 2 3 8 4 5 1 1 1 9
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29. INSERCION AL INICIO/FINAL bool LSE_InsertarNodoInicio(LSE *L, LSE_nodo *nuevo){ if (!nuevo) return FALSE; if(LSE_EstaVacia(*L)){ L->header = L->last = nuevo; } else{ LSE_Nodo_ModificarEnlace( nuevo, L->header); L->header = nuevo; } return(TRUE); } bool LSE_InsertarNodoFin(LSE *L, LSE_nodo *nuevo){ if(!nuevo) return FALSE; if(LSE_EstaVacia(*L)){ L->header = L->last = nuevo; } else{ LSE_Nodo_ModificarEnlace(L->last,, nuevo); L->last = nuevo; } return(TRUE); } nuevo->sig = header; header = nuevo; last->sig = nuevo; last = nuevo; Si la lista esta vacía, tanto header como last apuntan al nuevo nodo Si no, si es al inicio el nuevo header, es el nuevo nodo Si no, si es al final, el nuevo last es el nuevo nodo 10 5 8 2 31 25 last header 9 nuevo header 18 nuevo last
  • 30.
  • 31.
  • 32.
  • 33.