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.

Slides:



Advertisements
Presentaciones similares
Curso de java básico (scjp)
Advertisements

Tablas. Descripción general Introducción a las tablas Creación de tablas Uso de tablas.
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 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).
Tratamiento de listas en Java
Comunicación entre procesos en Linux
Estructuras Compuestas.
Ismael Camarero1. 2 ¿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.
Programación en Lenguaje Ensamblador.
Servidor de Batalla Naval.
Estructuras de Datos Punteros y algo más.
Unidad 3 Punteros.
Herramientas para el acceso directo a memoria en C++
¿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.
Métodos Algoritmos y Desarrollo de Programas I. Cuando utilizar métodos  Los métodos se utilizan para romper un problema en pedazos de forma que este.
POO Java Módulo 3 Elementos de programas Identificadores
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.
COLAS, IMPLEMENTACIÓN A PARTIR DE LISTAS Y PARA PILAS
Java Orientado a Objetos CLASES,OBJETOS Y MÉTODOS
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.
Curso Programación en Java
Capítulo 5. Punteros y Cadenas de Caracteres
PRODUCTOS NOTABLES Representación Geométrica
Desarrollador Profesional de Juegos Programación III Unidad II Una clase thread para window.
Índice. Revisando conceptos acerca de la memoria.
Estructuras.
Programación Orientada a Objetos usando CONSTRUCTORES DESTRUCTORES.
Unidad VI Registros (estructuras, uniones y enumeraciones)
PUNTEROS Ing Anghello Quintero.
PROGRAMACIÓN ORIENTADA A OBJETOS USANDO C++
Introducción a los punteros Prof. Domingo Hernández.
Manejo de Punteros y objetos en memoria dinámica en C++
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
Programación en C para electrónicos
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
Arreglos de Objetos.
Computación II Capitulo VII Punteros. Presentación de la unidad Objetivos: –Ser capaces de utilizar punteros. –Comprender las relaciones entre punteros,
1 Asignación Dinámica de Memoria Agustín J. González ELO 329.
Contenido:  ¿Qué son los Punteros?  Los Procedimientos: New y Dispose.
INSTITUTO TECNOLOGICO DE APIZACO
Estructura de datos Francisco Castro
Estructuras con punteros: Nodos y Listas. Un programa C.
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;
UNIDAD 8 Lista Enlazada: Eliminar Deseamos eliminar un elemento llamado elem de la lista enlazada. Es posible que la variable ini sea modificada. main(){
1 ListaUna Lista se define como una serie de N elementos E 1, E 2,..., E N, ordenados de manera consecutiva, es decir, el elemento E k (que se denomina.
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.
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

Fichas ordenas en orden alfabético y por otro criterio, usando hilos : hilo de inicio : hilo de ficha : hilo final ficha + hilo que sale de ella = nodo hilo naranjo = puntero inicio hilo verde = puntero de nodo que apunta a “nada”

usando hilos, equivalencia en Java : hilo de inicio struct Nodo * inicio; : hilo de ficha struct Nodo { int x; struct Nodo * siguiente; } : hilo final es el puntero de un objeto que tiene asignado el valor null apunta a null: struct Nodo * x = new Nodo(…); x->siguiente = null;

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 d x p ? struct str d; }

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 d x p ? struct str d; a.p=&d; }

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 d x p ? struct str d; a.p=&d; d.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 d x p struct str d; a.p=&d; d.p=NULL; d.x=77; } NULL 77