Listas. Utilización de un TAD Lista. Interfaz del TAD LISTA public interface Lista { void crearNodo (); /*Crea un nuevo nodo en el TadLista*/ int devolverClave.

Slides:



Advertisements
Presentaciones similares
5. Estructuras no lineales estáticas y dinámicas
Advertisements

DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME RMS Ing. Ronald Criollo.
GRAFOS 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.
Programación II Listas
Estructuras de datos y algoritmos
Utilización de un TAD Arbol.
Programación y Estructuras de Datos
9A9A9A9A Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Luis Hernández Yáñez Facultad de Informática.
Tema 5 Grafos..
Tema 5 Grafos. Implementación (I)..
Árboles binarios. Algoritmos básicos
Tema 1. Introducción a la programación (Lenguaje java).
Tratamiento de listas en Java
2.3 Cola de números enteros.
2.2 Pila de números enteros
1.2 Sintaxis del lenguaje Java.
Tema 4 Árboles. Árbol sobre matriz.
2.4 Construcción de un TAD a partir de otro.
Informática II 1 Diego Fernando Serna RestrepoSemestre 2011/2.
Abstracción de Datos La abstracción es un recurso fundamental en la programación orientada a objetos y está además fuertemente ligado a reusabilidad.
Implementación de Listas
Cont. Arbol Binario de Búsqueda
Programación II Colas Igor Santos Grueiro.
Oscar Bedoya. Edificio 331, 2º piso, E.I.S.C. Estructuras de datos y algoritmos.
Método en Java.
POO Java Módulo 3 Elementos de programas Identificadores
0. Desarrollo de Programas: técnica del refinamiento.
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.
Estructuras dinámicas de datos, TAD Lista, parte 2
Igor Santos Grueiro. De este tipo de pilas NO vamos a hablar.
Tema 6: Clases Antonio J. Sierra.
Colecciones.
Suponiendo que además en la clase U hay: import java.util.*; class U{ static Scanner teclado = new Scanner(System.in); static public int readInt(String.
ÁRBOLES BINARIOS DE BÚSQUEDA
C++ LISTAS C++ 11/04/2017 Ing. Edgar Ruiz Lizama.
Árboles binarios de búsqueda
Pilas y Colas Estructuras de Datos.
Árboles AVL cont..
Árboles Binarios Estructuras de Datos.
LISTA DOBLEMENTE ENLAZADA
Dinamismo y Contenedores Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires (C++ Avanzado) Depto. de Computación Algoritmos y Estructuras.
TABLAS DE DISPERSIÓN (HASH). TABLAS ENCADENADAS INDIRECTAS.
Grafos..
1 Miembros Estáticos (Static) de Clases y Funciones Amigas (Friend) Agustín J. González Versión Original de Kip Irvine ELO326: Seminario II 2do. Sem
Unidad 2.1: INTRODUCCIÓN A LA ORIENTACIÓN A OBJETOS.
Presentado por: PABLO ANDRES DIAZ SAIN HASSAM CAICEDO
Detalles Generales sobre Java
Punteros, referencias Listas enlazadas Arboles
Estructuras de datos Fundamentos de análisis y diseño de algoritmos.
Algoritmos y Estructuras de datos Listas Doblemente enlazadas
Entrada y Salida ES.leerChar (); ES.leerEntero (); ES.leerEnteroLargo (); ES.leerFloat (); ES.leerDouble (); System.out.print System.out.println.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Tipo.
Ing. Esp. Ricardo Cujar. Permite la ejecución de una sentencia, dada una determinada condición. If(condición){ sentencia(s) a ejecutar en caso de que.
Listas Dinámicas.
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.
Factorías e Iterables Introducción del concepto de patrón de diseño Construcción de tipos para recorridos con for extendido Fundamentos de Programación.
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
Las interfaces Predicate y Function Versión Unidad Didáctica 17 Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos.
Diseño de tipos Igualdad, representación, código, copia y relación de orden Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos.
Tratamientos secuenciales I Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 8 Versión
UNIVERSIDAD DIEGO PORTALES Facultad de Ingeniería Programación Avanzada TIPOS ABSTRACTOS DE DATOS TAD Tema: TIPOS ABSTRACTOS DE DATOS TAD Subtema: COLAS.
UNIVERSIDAD DIEGO PORTALES Facultad de Ingeniería Programación Avanzada TIPOS ABSTRACTOS DE DATOS TAD Tema: TIPOS ABSTRACTOS DE DATOS TAD Subtema: LISTAS.
Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 3.
2012-BM5A. Unos tips antes de empezar: C# es Case Sensitive (sensible a mayúsculas) Pepe ≠ pepe ≠ pEpE Las asignaciones se hacen con “=” y las comparaciones.
Paso de parámetros Diseño de programas iterativos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 7 Versión.
Departamento de Lenguajes y Sistemas Informáticos escuela técnica superior de ingeniería informática Ingeniería del Software II Implementación metódica.
Árboles binarios. Algoritmos básicos
Casos de prueba con JUnit
Transcripción de la presentación:

Listas. Utilización de un TAD Lista

Interfaz del TAD LISTA public interface Lista { void crearNodo (); /*Crea un nuevo nodo en el TadLista*/ int devolverClave (); /*Devuelve la clave contenida en el nodo del TadLista*/ NodoLista devolverSiguiente (); /*Devuelve una referencia al siguiente del TadLista*/ void asignarClave (int dato); /*Asigna el dato al primer nodo del TadLista*/ void asignarReferencia (NodoLista referencia); /*Hace que el primer nodo del TadLista apunte al mismo sitio que referencia*/ void asignarReferenciaSiguiente (NodoLista referenciaNueva); /*Hace que el siguiente de inicio apunte al mismo sitio que referenciaNueva*/ void asignarNulo (); /*Hace que el tadLista tome el valor null*/ boolean esNulo (); /*Devuelve true si el inicio del TadLista tiene valor null; false en caso contrario*/ boolean esIgual (NodoLista referencia); /*Devuelve true si referencia apunta al mismo sitio que el tadLista, false en caso contrario*/ }

Ejemplo: Contar elementos de una lista static int contar (TadLista lista) { TadLista aux = new TadLista (); int resul; if (!lista.esNulo ()) { aux.asignarReferencia (lista.devolverSiguiente ()); resul = 1 + contar (aux); } else resul = 0; return resul; }

Implementación del TadLista (I) public class TadLista implements Lista { NodoLista inicio; public TadLista () { inicio = null; } public void crearNodo () { /*Crea un nuevo nodo en el TadLista al principio de la lista*/ inicio = new NodoLista (0, inicio); } public int devolverClave () { /*Devuelve la clave contenida en el nodo del tadLista*/ return inicio.clave; } public NodoLista devolverSiguiente () { /*Devuelve una referencia al siguiente del TadLista*/ return inicio.sig; } public NodoLista devolverReferencia () { /*Devuelve una referencia al primer nodo del TadLista*/ return inicio; } public void asignarClave (int dato) { /*Asigna el dato al primer nodo del TadLista*/ inicio.clave = dato; }

Implementación del TadLista (y II) public void asignarReferencia (NodoLista referencia) { /*Hace que el inicio del TadLista apunte al mismo sitio que referencia*/ inicio = referencia; } public void asignarReferenciaSiguiente (NodoLista referenciaNueva) { /*Hace que el siguiente de inicio apunte al mismo sitio que referenciaNueva*/ inicio.sig = referenciaNueva; } public void asignarNulo () { /*Hace que el inicio del TadLista tome el valor null*/ inicio = null; } public boolean esNulo () { /*Devuelve true si el inicio del TadLista tiene valor null; false en caso contrario*/ return inicio == null; } public boolean esIgual (NodoLista referencia) { /*Devuelve true si referencia apunta al mismo sitio que inicio, false en caso contrario*/ return inicio == referencia; }