Está en la página 1de 9

Tipos de Datos Abstractos

TDA LISTA

Tipos de Datos Abstractos


LISTA
Marbella Castañeda
Email: marbella_cas@yahoo.com
Tipos de Datos Abstractos
TDA LISTA
• 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 Abstractos
TDA LISTA
• 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:

Tipo
LISTA= arreglo [1..n] de ENTEROS;
Var
L : LISTA;
Tipos de Datos Abstractos
TDA LISTAS
• Implementación • Implementación

Procedimiento LISTA_VACÏA (Var L :LISTA) Función ES_VACÍA(L :LISTA) : LÓGICO


var principio
i : ENTERO; Si L [ 1 ] = 0 entonces ES_VACÏA := Verdad
principio Sino ES_VACÏA := Falso;
Para i := 1 hasta n hacer Fin;
L[ i ] := 0;
fin;
Tipos de Datos Abstractos
TDA LISTA
• Implementación • Implementación

Procedimiento Insertar (Var L :LISTA, p: POSICIÓN, e : Función ANTECESOR (L :LISTA, p:ENTERO) :


ENTERO) ENTERO;
var principio
i : ENTERO; ANTECESOR := L[p – 1];
principio Fin;
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;
Tipos de Datos Abstractos
TDA LISTA
• Implementación • Implementación

Función SUCESOR (L :LISTA, p:ENTERO) : ENTERO; Procedimiento Eliminar (VAR L : LISTA, p : ENTERO)
principio Principio
SUCESOR := L[p + 1]; Mientras (p <= n) y ( L[p] < > 0 ) hacer
Fin; L [p] := L [p + 1];
Fin;
Tipos de Datos Abstractos
TDA LISTA
• Implementación • Implementación

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


var
i : ENTERO;
Procedimiento RECORRER (L :LISTA) Principio
var i .= 1;
i : ENTERO; mientras (i <= n) y (S[ i ] <> E) hacer
Principio principio
Mientras (i <= n) y ( L[i] < > 0 ) hacer i := i + 1;
Escribir (L[i]); fin;
fin; Si i > n entonces
principio
escribir(“el elemento”, e, “no se encuentra
en la lista”);
BUSCAR := 0;
fin;
Sino
BUSCAR := i;
Fin;
Tipos de Datos Abstractos
TDA LISTA
• Implementación • Implementación

Función PRIMERO (L :LISTA) : ENTERO


Función FINAL (L :LISTA) : ENTERO var
var e : ENTERO;
i : ENTERO; principio
principio Si S[1] <> “” entonces e : = S [1]
i:=1; sino
Mientras (i <= n) y (S [ i ] < > “”) hacer e : = “”
principio PRIMERO := e;
i:= i + 1; fin;
fin;
Si i <= n y S[ i ] = “” entonces
FINAL := i
fin;
Tipos de Datos Abstractos
TDA LISTA
• Implementación • Implementación

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


Principio
ACCESAR := L [ P];
Fin;

También podría gustarte