Estructuras con punteros: Nodos y Listas. Un programa C.

Slides:



Advertisements
Presentaciones similares
ÁRBOLES EN C UNIVERSIDAD “ALONSO DE OJEDA” Facultad de Ingeniería
Advertisements

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 Científica
Programación I Teoría IV
Direcciones, Arreglos y Argumentos de Funciones
Estructuras de datos. Programación, Algoritmos y Estructuras de Datos.
Tipos de Datos Básicos y Estructurados
Punteros Universidad Nacional Mayor de San Marcos
Tema 1. Introducción a la programación (Lenguaje java).
Comunicación entre procesos en Linux
Programación en Lenguaje Ensamblador.
Implementación de Listas
Servidor de Batalla Naval.
Estructuras de Datos Punteros y algo más.
Unidad 3 Punteros.
¿Qué es un PUNTERO?: Un puntero es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No.
L ISTAS E NLAZADAS No son mas que un conjunto o lista de objetos que a diferencia de los vectores, estas poseen la capacidad de crecer o decrecer. Por.
Slide 7-1 Copyright © 2003 Pearson Education, Inc. Figure: Estructuras de datos.
Diseño de algoritmos “Estructuras”
Estructuras dinámicas de datos, TAD Lista, parte 2
COLAS, IMPLEMENTACIÓN A PARTIR DE LISTAS Y PARA PILAS
Diseño de algoritmos “Punteros”
Tema 9 Estructuras.
1 Chapter 15 Pointers, Dynamic Data, and Reference Types Dale/Weems/Headington.
C++ LISTAS C++ 11/04/2017 Ing. Edgar Ruiz Lizama.
Ecuaciones cuadráticas
Capítulo 5. Punteros y Cadenas de Caracteres
Archivos Binarios Lenguaje C Prof. Gonzalo Pastor.
PRODUCTOS NOTABLES Representación Geométrica
Informática Ingeniería en Electrónica y Automática Industrial
Prog. Univ. Rodríguez Rey, Pablo Funciones Programación I.
Desarrollador Profesional de Juegos Programación III Unidad II Una clase thread para window.
Índice. Revisando conceptos acerca de la memoria.
Estructuras.
TABLAS Definición. El tipo tabla permite definir objetos formados por un conjunto de elementos del mismo tipo. Ejemplos. El tipo tabla se utiliza para.
ATC-DistribuidasUniversidad de Oviedo / Dpto. de Informática XDR (External Data Representation) Tipos y codificación.
Unidad VI Registros (estructuras, uniones y enumeraciones)
Programación I Técnico Universitario en Web Dpto. de Informática FCFMyN - UNSL -11-
PUNTEROS Ing Anghello Quintero.
Informática Ingeniería en Electrónica y Automática Industrial
El lenguaje de programación C - Vectores y matrices -
Estructuras con punteros: Nodos y Listas. Fichas ordenas en orden alfabético y por otro criterio, usando hilos : hilo de inicio : hilo de ficha : hilo.
Introducción a los punteros Prof. Domingo Hernández.
Prof. Gonzalo Pastor struct. struct Un struct permite dividir cada posición del vector en varias partes Una estructura (struct) es un tipo de datos compuesto.
Informática Ingeniería en Electrónica y Automática Industrial
Universitarios: Ricardo Gonzales Jimenez Wilfredo Coca Reinaldo Yohan Docente: Lic. Israel Torrez Valverde Tema: Listas doblemente Enlazadas.
Memoria estática versus dinámica con Estructuras
Punteros.
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
Diseño de Algoritmos. Curso J.L. Leiva O. TEMA3TEMA3 TEMA3TEMA3 Estructuras Dinámicas Contenido del Tema Profesor: José Luis Leiva Olivencia. Despacho:
APUNTADORES.
Memoria dinámica con Estructuras. Memoria dinámica ¿Qué hacer cuando las variables declaradas son insuficientes o cuando no se conoce anticipadamente.
Los punteros Programación modular.
Punteros Recomendado: 1. Nivelación Funciones
CLASE 48 –3 x x x x y y 2,1 y y 5x5x 5x5x 7 7 x x 2 2 y y 5 5 = 7 x 0 0 ( x  0) 4 x x 3 +2 x x 2 –1 P( x ) =
Computación II Capitulo VII Punteros. Presentación de la unidad Objetivos: –Ser capaces de utilizar punteros. –Comprender las relaciones entre punteros,
INSTITUTO TECNOLOGICO DE APIZACO
Ayudantia 3: Pilas- Colas
PROGRAMACION DE Pilas o Stacks
PUNTEROS EN EL LENGUAJE C
TIPOS DE DATOS PARCIAL III Punteros. Un puntero es una variable que hace referencia a una dirección de memoria Sintaxis: Tipo_Dato *nombre_variable_puntero;
PRODUCTOS NOTABLES Representación Geométrica
UNIDAD 8 Lista Enlazada: Eliminar Deseamos eliminar un elemento llamado elem de la lista enlazada. Es posible que la variable ini sea modificada. main(){
Lenguaje de Programación II Prof. Rafael Montenegro B. Carrera: T.S.U en Informática Periodo: 2014-I.
Computación I :: Prof. Yeniffer Peña Lenguaje C Presentación Computación I.
Punteros De manera simple, un puntero es una variable almacenada en alguna parte del espacio del programa.
UNIDAD 8 Agregar al Inicio
Memoria estática versus dinámica con Estructuras
Transcripción de la presentación:

Estructuras con punteros: Nodos y Listas

Un programa C

Creación de “tipo” estructura struct str { int x; struct str *p; }; main(){ struct str a; struct str *b; b=NULL; a.x=55; b=&a; b->x=66; } x p Valor entero Dirección a otra variable de misma estructura

Creación de una variable x p struct str { int x; struct str *p; }; main(){ struct str a; struct str *b; b=NULL; a.x=55; b=&a; b->x=66; } a x p ?

Creación de un puntero b ? x p struct str { int x; struct str *p; }; main(){ struct str a; struct str *b; b=NULL; a.x=55; b=&a; b->x=66; } a x p ?

Puntero apuntando a “nada” conocida b NULL x p struct str { int x; struct str *p; }; main(){ struct str a; struct str *b; b=NULL; a.x=55; b=&a; b->x=66; } a x p ? b ?

Asignar un valor a un campo b NULL xp struct str { int x; struct str *p; }; main(){ struct str a; struct str *b; b=NULL; a.x=55; b=&a; b->x=66; } a x p ? 55

puntero apuntando a variable NULL xp struct str { int x; struct str *p; }; main(){ struct str a; struct str *b; b=NULL; a.x=55; b=&a; b->x=66; } a x p ? 55 b

Cambiando valor por medio de puntero xp struct str { int x; struct str *p; }; main(){ struct str a; struct str *b; b=NULL; a.x=55; b=&a; b->x=66; } a x p ? 55 b 66

¿Puntero en “a” apuntar a algo? xp struct str { int x; struct str *p; }; main(){ struct str a; struct str *b; b=NULL; a.x=55; b=&a; b->x=66; } a x p ? 66 b Se puede hacer apuntar a otra variable del mismo tipo o a “nada” (NULL) La gracia es hacerlo sin usar el nombre de la variable “a” sino el puntero “p”

Creando otra variable estructurada xp struct str { int x; struct str *p; }; main(){ struct str a; struct str *b; b=NULL; a.x=55; b=&a; b->x=66; …… a x p ? 66 b b x p ? struct str b; }

Conectando los nodos xp struct str { int x; struct str *p; }; main(){ struct str a; struct str *b; b=NULL; a.x=55; b=&a; b->x=66; …… a x p ? 66 b b x p ? struct str b; a.p=&b; }

Cerrando la lista xp struct str { int x; struct str *p; }; main(){ struct str a; struct str *b; b=NULL; a.x=55; b=&a; b->x=66; …… a x p ? 66 b b x p ? struct str b; a.p=&b; b.p=NULL; } NULL

Dandole valor a x de nuevo nodo xp struct str { int x; struct str *p; }; main(){ struct str a; struct str *b; b=NULL; a.x=55; b=&a; b->x=66; …… a x p ? 66 b b x p struct str b; a.p=&b; b.p=NULL; b.x=77; } NULL 77