Tipos de Datos Abstractos Listas (Estructura de Datos Estatica)

9
Tipos de Datos Abstractos LISTA Marbella Castañeda Email: [email protected] Tipos de Datos Abstractos TDA LISTA

Transcript of Tipos de Datos Abstractos Listas (Estructura de Datos Estatica)

Page 1: Tipos de Datos Abstractos Listas (Estructura de Datos Estatica)

Tipos de Datos Abstractos

LISTAMarbella Castañeda

Email: [email protected]

Tipos de Datos AbstractosTDA LISTA

Page 2: Tipos de Datos Abstractos Listas (Estructura de Datos Estatica)

• Representación Gráfica

Gráficamente podríamos ver la LISTA L de esta forma:

POSICIÓN

1 2 n – 1 n

e1: ELEMENTO : ENTERO

Tipos de Datos AbstractosTDA LISTA

Page 3: Tipos de Datos Abstractos Listas (Estructura de Datos Estatica)

• Representación Interna

Seleccionemos una estructura de datos estática arreglo para representar e

implementar el TDA LISTAS. Asumamos que los ELEMENTOS que contiene la

LISTA son representados por el tipo ENTERO. La cantidad de ELEMENTOS que

puede contener la LISTA tiene un máximo de n ELEMENTOS.

Por lo que la representación formal de este tipo se define de la siguiente manera:

TipoLISTA= arreglo [1..n] de ENTEROS;

VarL : LISTA;

Tipos de Datos AbstractosTDA LISTA

Page 4: Tipos de Datos Abstractos Listas (Estructura de Datos Estatica)

Tipos de Datos AbstractosTDA LISTAS

• Implementación

Procedimiento LISTA_VACÏA (Var L :LISTA)

var

i : ENTERO;

principio

Para i := 1 hasta n hacer

L[ i ] := 0;

fin;

• Implementación

Función ES_VACÍA(L :LISTA) : LÓGICO

principio

Si L [ 1 ] = 0 entonces ES_VACÏA := Verdad

Sino ES_VACÏA := Falso;

Fin;

Page 5: Tipos de Datos Abstractos Listas (Estructura de Datos Estatica)

Tipos de Datos AbstractosTDA LISTA

• Implementación

Procedimiento Insertar (Var L :LISTA, p: POSICIÓN, e : ENTERO)

var

i : ENTERO;

principio

Si L [p] <> 0 entonces

mientras (i <=n) y ( L [i ] <> 0 ) hacer

principio

sig := l[p];

l[i] := e;

e := sig;

fin;

l [ i ] := e;

fin;

• Implementación

Función ANTECESOR (L :LISTA, p:ENTERO) : ENTERO;

principio

ANTECESOR := L[p – 1];

Fin;

Page 6: Tipos de Datos Abstractos Listas (Estructura de Datos Estatica)

Tipos de Datos AbstractosTDA LISTA

• Implementación

Función SUCESOR (L :LISTA, p:ENTERO) : ENTERO;

principio

SUCESOR := L[p + 1];

Fin;

• Implementación

Procedimiento Eliminar (VAR L : LISTA, p : ENTERO)

Principio

Mientras (p <= n) y ( L[p] < > 0 ) hacer

L [p] := L [p + 1];

Fin;

Page 7: Tipos de Datos Abstractos Listas (Estructura de Datos Estatica)

Tipos de Datos AbstractosTDA LISTA

• Implementación

Procedimiento RECORRER (L :LISTA)

var

i : ENTERO;

Principio

Mientras (i <= n) y ( L[i] < > 0 ) hacer

Escribir (L[i]);

fin;

• Implementación

Función BUSCAR(L :LISTA, E:ENTERO) : ENTERO

var

i : ENTERO;

Principio

i .= 1;

mientras (i <= n) y (S[ i ] <> E) hacer

principio

i := i + 1;

fin;

Si i > n entonces

principio

escribir(“el elemento”, e, “no se encuentra en la lista”);

BUSCAR := 0;

fin;

Sino

BUSCAR := i;

Fin;

Page 8: Tipos de Datos Abstractos Listas (Estructura de Datos Estatica)

Tipos de Datos AbstractosTDA LISTA

• Implementación

Función FINAL (L :LISTA) : ENTERO

var

i : ENTERO;

principio

i:=1;

Mientras (i <= n) y (S [ i ] < > “”) hacer

principio

i:= i + 1;

fin;

Si i <= n y S[ i ] = “” entonces

FINAL := i

fin;

• Implementación

Función PRIMERO (L :LISTA) : ENTERO

var

e : ENTERO;

principio

Si S[1] <> “” entonces e : = S [1]

sino

e : = “”

PRIMERO := e;

fin;

Page 9: Tipos de Datos Abstractos Listas (Estructura de Datos Estatica)

Tipos de Datos AbstractosTDA LISTA

• Implementación

Función ACCESAR(L :LISTA, P:ENTERO) : ENTERO

Principio

ACCESAR := L [ P];

Fin;

• Implementación