3. TDA Arreglo Unidimensional
Definición
<arreglo> ::= {<elemento> 0, ... , <elemento><iterador>, ...
<elemento> <<NUM_ELEM>>-1 }
<iterador> ::= (0,...,<<NUM_ELEM>>-1)
<elemento>::= <<dato>>|<<dato>>{<<dato>>}
Operaciones
Básicas
Constructor y Destructor
A1D_Crear (nombreArreglo, rangoIndice, tipoBase)
A1D_Eliminar(nombreArreglo)
Selector
A1D_AccederElemento (nombreArreglo, indiceSelección)
El selector puede usarse para:
o extraer un valor del arreglo
o modificar el valor de una celda del arreglo
Extendidas
Dependen del tipoBase, por ejemplo:
A1D_Ordenar(nombreArreglo, tipoOrdenamiento)
A1D_BuscarElemento(nombreArreglo, elemento): indiceSelección
3
4. TDA Lista Simple (LSE)
Definición
<listaSimple> ::= <comienzo> + {<nodo>}
<nodo> ::= <contenido> + <enlace>
<contenido> ::= <<dato>>{<<dato>>}
<enlace> ::= (<<referencia_nodo>> | NULL)
<comienzo> :: =<enlace>
Operaciones
Creación/Destrucción
LSE_Crear(nombreLista)
LSE_Eliminar(nombreLista)
Comprobación de Estado
LSE_EstaVacia(nombreLista) : Booleano
LSE_EstaVacia(referenciaNodo) : Booleano
LSE_EstaLlena(nombreLista) : Booleano
Inserción de Nodos
LSE_InsertarNodo(nombreLista, nodo, posicion)
LSE_InsertarNodo(nombreLista, nodo)
Borrado de Nodos
LSE_BorrarNodo(nombreLista, nodo)
Búsqueda de un nodo
LSE_BuscarNodo(nombreLista, dato) : contenido
LSE_BuscarNodo(nombreLista, dato) : referenciaNodo
LSE_EsNodoDeLista(nombreLista,nodo) : Booleano
Recorrido de la lista
LSE_Recorrer(nombreLista )
Modificación de Nodos
LSE_AsignarContenidoNodo(referenciaNodo, valorContenido)
LSE_AsignarEnlaceNodo(referenciaNodo, valorEnlace)
Acceso a los nodos
LSE_ContenidoNodo(referenciaNodo) : contenido
LSE_SiguienteNodo(referenciaNodo) : enlace
4