2.4 Construcción de un TAD a partir de otro.

Anuncio
Tema 2 Tipos abstractos de datos.
2.4 Construcción de un TAD a partir de otro.
Construcción de un TAD a partir de otro (I).
Se puede construir un TAD a partir de otro.
Ejemplo: TAD Vector de enteros (TadVector).
Construido a partir de TAD Pila de enteros (TadPila).
El usuario imagina y trabaja con algo que se comporta
como un vector sin conocer su construcción interna
(ocultamiento).
Construcción de un TAD a partir de otro (II).
Métodos de objeto:
crearVector (). Crea e inicializa el vector sobre el que
opera. Establece su tamaño (tamano).
leerVector (pos). Devuelve el valor del elemento del
vector cuya posición (pos) se pasa como argumento.
escribirVector (pos, cont). Modifica el dato que ocupa la
posición (pos) con el contenido (cont) que se pasan
como argumentos.
tamaño (). Devuelve el tamaño del vector.
Interfaz del nuevo TAD
import java.io.*;
public interface Vector {
void crearVector () throws NumberFormatException, IOException;
int leerVector (int posicion);
void escribirVector (int posicion, int contenido) ;
int tamaño ();
}
Construcción del TAD
public class TadVector implements Vector {
Pila vector;
public int tamanio;
public void CrearVector () throws NumberFormatException, IOException {
int i;
BufferedReader linea = new BufferedReader (new InputStreamReader(System.in));
Pila auxv = new TadPila ();
auxv.inicializarPila();
System.out.println ("Numero de elementos: ");
tamano = Integer.parseInt(linea_entrada.readLine());
for (i = 1; i <= tamanio; i++)
auxv.apilar (0);
vector = auxv;
}
………………………………......
public int tamaño () {
return tamanio;
}
}
Utilización del nuevo TAD
import java.io.IOException;
public class pruebaTadVector {
public static void main(String[] args) throws NumberFormatException, IOException {
Vector v = new TadVector ();
int d,i;
v.crearVector ();
v.escribirVector (5, 77);
v.escribirVector (3, 87);
v.escribirVector (8, 97);
for (i = 1; I <= v.tamaño (); i++) {
d = v.leerVector (i);
System.out.println ("El dato de la posicion "+i+" es: "+d);
}
}
}
Descargar