Listas Ligadas1UVM Listas Ligadas. 2UVM Listas Ligadas3UVM 5.1 Objetivos El estudiante manejará el tad Lista Ligada, sobre memoria estática.

Slides:



Advertisements
Presentaciones similares
Funciones y recursividad
Advertisements

TDA LISTA ESTRUCTURAS DE DATOS.
Unidad 5 Listas Enlazadas Bibliografía: Algoritmos y Estructuras de datos de Aguilar y Martinez. Unidad 9 Autor: Ing Rolando Simon Titiosky.
Listas enlazadas c++ Prof. Franklin Cedeño.
Programación II Listas
Estructura de Datos En C++
1 Extensión de un Estructura de Datos Agustín J. González ELO-320: Estructura de Datos y Algoritmos.
Programación y Estructuras de Datos
Programación I Teoría IV
Programación, Algoritmos y Estructuras de Datos
Tipos de Datos Básicos y Estructurados
EJERCICIOS DE PROGRAMACION
INFORMATICA I Funciones CLASE 13.
Tratamiento de listas en Java
Implementación de Listas
SOBRECARGA DE FUNCIONES
Colas y Listas Enlazadas
ÁRBOLES DE EXPRESION.
Simulación de la recursión Estructuras de datos. Llamada y regreso de una función Al llamar a una función se realizan los siguientes tres pasos: 1. Transferencia.
FUNCIONES EN C.
Estructuras dinámicas de datos, TAD Lista, parte 2
Pila1UVM Colas. Pila2UVM Pila3UVM 3.1 Objetivos El estudiante manejará el tad Cola, sobre memoria estática.
Igor Santos Grueiro. De este tipo de pilas NO vamos a hablar.
Tema 9 Estructuras.
Asignatura: Lenguaje de Programación de Sistemas PPT No.05 Programa vespertino de Ingeniería (E) en Sistemas Computacionales Profesor: José Estay Araya.
Programación orientada a objetos
ÁRBOLES BINARIOS DE BÚSQUEDA
C++ LISTAS C++ 11/04/2017 Ing. Edgar Ruiz Lizama.
FUNCIONES EN C.
Semáforos Cecilia Hernández
Archivos.
Estructuras.
Introducción al Minikernel
Ordenación y Búsquedas1UVM Ordenación y Búsqueda.
Estructura de Datos En C++
ELO3201 Vectores (Vector) Agustín J. González ELO320.
Árboles binarios de búsqueda
Listas enlazadas.
Programación I Técnico Universitario en Web Dpto. de Informática FCFMyN - UNSL -11-
1 Estructuras de Datos Elementales:stacks (pilas), queues (colas), linked lists (listas enlazadas), y rooted trees (árboles con raíz) Agustín J. González.
Pila1UVM Pilas. Pila2UVM Pila3UVM 2.1 Objetivos El estudiante manejará el tad Pila contigua.
1 Asignación Dinámica de Memoria Agustín J. González Versión original de Kip Irvine ELO 329.
Árboles1UVM Árboles. 2UVM Árboles3UVM 6.1 Objetivos El estudiante manejará el tad Arbol, sobre memoria dinámica.
Árboles Binarios Estructuras de Datos.
Universitarios: Ricardo Gonzales Jimenez Wilfredo Coca Reinaldo Yohan Docente: Lic. Israel Torrez Valverde Tema: Listas doblemente Enlazadas.
Listas Ligadas Simples. Definíción I  Es, en sencillas palabras. un grupo de datos organizados secuencialmente, pero a diferencia de los arreglos, la.
PUNTEROS Y REFERENCIAS
Trazado. 1 Intercambio sin error #include void intercambio(int *, int *); /* prototipo */ main(){ int a=1,b=2; printf("a=%d b=%d\n",a,b); intercambio(&a,&b);
Unidad 4: LISTAS.
TIPOS ABSTRACTOS DE DATOS. 2  Un Tipo Abstracto de Dato (TAD) es un modelo constituido por un conjunto de objetos y una colección de operaciones realizables.
LISTA ENCADENADAS. DEFINICIÓN Las listas están formadas por una serie de nodos; cada nodo tienen un campo de información y un apuntador (puntero) al siguiente.
1 Estructuras de Datos Elementales:stacks (pilas), queues (colas), linked lists (listas enlazadas), y rooted trees (árboles con raíz) Agustín J. González.
1 Asignación Dinámica de Memoria Agustín J. González ELO 329.
Empleando apuntadores una función puede entregar múltiples resultados / /Esta función no funciona #include void intercambiaValores(float a, float b) {
Pilas y Colas Cursos Propedéuticos 2006 Programación y Estructuras de Datos Manuel Montes Claudia Feregrino
PROGRAMACION DE Pilas o Stacks
M.C. Meliza Contreras González
Listas Dinámicas.
Tema 1. Estructuras de datos Objetivo: Objetivo: El alumno resolverá problemas de almacenamiento, recuperación y ordenamiento de datos y las técnicas de.
Lenguaje de Programación II Prof. Rafael Montenegro B. Carrera: T.S.U en Informática Periodo: 2014-I.
Introducción a punteros en C
Estructura de Datos Luis Humeau Waldi Saturno
Árboles binarios. Algoritmos básicos
Estructuras PILA - COLA - LISTA.
Tema 3 Árboles. Conceptos Generales. Curso 2014/2015 ETSISI UPM.
LISTAS..
Unidad 5: Pila.
Listas Dinámicas.
PILAS. Operaciones de las Pilas Operaciones que se pueden realizar con una pila son: -PUSH (pila, elemento) -POP (pila) -VACIA (pila)
Manuel Montes y Gómez Laboratorio de Tecnologías del Lenguaje
Transcripción de la presentación:

Listas Ligadas1UVM Listas Ligadas

2UVM

Listas Ligadas3UVM 5.1 Objetivos El estudiante manejará el tad Lista Ligada, sobre memoria estática

Listas Ligadas4UVM 5.2 Temas a Cubrir Definición Pila Ligada Cola Ligada Lista Ligada Lista Doblemente Ligada

Listas Ligadas5UVM 5.3 Definición Una lista es una colección de elementos ordenada de acuerdo a las posiciones de éstos (secuencia, relación predecesor-sucesor)

Listas Ligadas6UVM 5.4 Pila Ligada

Listas Ligadas7UVM # include struct node { int data; struct node *link; };

Listas Ligadas8UVM struct node *push(struct node *p, int value) { struct node *temp; temp=(struct node *)malloc(sizeof(struct node)); if(temp==NULL) { printf("No Memory available Error\n"); exit(0); } temp->data = value; temp->link = p; p = temp; return(p); }

Listas Ligadas9UVM struct node *pop(struct node *p, int *value) { truct node *temp; if(p==NULL) { printf(" The stack is empty can not pop Error\n"); exit(0); } *value = p->data; temp = p; p = p->link; free(temp); return(p); }

Listas Ligadas10UVM 5.5 Cola Ligada

Listas Ligadas11UVM # include struct node { int data; struct node *link; };

Listas Ligadas12UVM void insert(struct node **front, struct node **rear, int value) { struct node *temp; temp=(struct node *)malloc(sizeof(struct node)); /* creates new node using data value passed as parameter */ if(temp==NULL) { printf("No Memory available Error\n"); exit(0); } temp->data = value; temp->link=NULL; if(*rear == NULL) { *rear = temp; *front = *rear; } else { (*rear)->link = temp; *rear = temp; }

Listas Ligadas13UVM void delete(struct node **front, struct node **rear, int *value) { struct node *temp; if((*front == *rear) && (*rear == NULL)) { printf(" The queue is empty cannot delete Error\n"); exit(0); } *value = (*front)->data; temp = *front; *front = (*front)->link; if(*rear == temp) *rear = (*rear)->link; free(temp); }

Listas Ligadas14UVM 5.6 Lista Ligada # include struct node { int info; struct node *next; } ; typedef struct node *NODEPTR;

Listas Ligadas15UVM NODEPTR getnode() { NODEPTR p; p = (NODEPTR) malloc(sizeof(struct node)); return(p); } void freenode(NODEPTR p) { free(p); }

Listas Ligadas16UVM void insafter(NODEPTR p, int x) { NODEPTR q; if (p == NULL) { printf("insercion nula\n"); exit(1); } q = getnode(); q -> info = x; q -> next = p -> next; p -> next = q; }

Listas Ligadas17UVM void insend(NODEPTR *plist, int x) { NODEPTR p,q; p = getnode(); p->info = x; p->next = NULL; if (*plist == NULL) *plist = p; else { for (q = *plist; q->next != NULL; q = q->next) ; q->next = p; }

Listas Ligadas18UVM void delafter(NODEPTR p, int *px) { NODEPTR q; if ((p == NULL) || (p -> next == NULL)) { printf("remocion nula\n"); exit(1); } q = p ->next; *px = q -> info; p -> next = q -> next; freenode(q); }

Listas Ligadas19UVM NODEPTR search(NODEPTR list, int x) { NODEPTR p; for (p = list; p != NULL; p = p->next) if (p->info == x) return (p); return (NULL); }

Listas Ligadas20UVM 5.6 Lista Doblemente Ligada

Listas Ligadas21UVM Tarea #5 (entrega 28 Marzo 2009) Escriba un programa en C que solicite una expresión aritmética que use varios paréntesis y que, por medio de una pila ligada, verifique si la expresión ttiene el mismo número de paréntesis abiertos que cerrados.

Listas Ligadas22UVM