Documentos de Académico
Documentos de Profesional
Documentos de Cultura
– New (puntero)
– Dispose (puntero)
CREACIÓN DE UNA VARIABLE DINÁMICA
•New(puntero)
NODOS
Ejemplo de definición:
TYPE
TipoLista =^ TipoNodo;
TipoNodo = Record
Info:TipoInfo;
Siguiente:TipoLista
END;
Listas
Ese nodo puede apuntar a otro nodo y este último a un próximo, por lo tanto
podemos hablar de ciertas operaciones posibles en una Lista, como por ejemplo:
insertar nodo al final, insertar al principio, insertar en el medio, buscar nodo,
sacar del final, sacar del principio, etc.
LISTAS (LISTS)
Son TAD en las que los elementos están organizados siguiendo un orden secuencial. Cada
elemento tiene un anterior y un siguiente en la lista..
Inicio Final (apunta a NULL)
------ ------ ------ --------
| 23 |--->| 12 |--->| 11 |--->| 99 |\|
------ ------ ------ --------
Crear Lista
BEGIN
Lista:= NIL
END;
BEGIN
New(Ptr);
Ptr^.Info := Valor;
Ptr^.Siguiente := NIL;
Lista := Ptr;
END;
Nuestro objetivo es insertar un nodo que sea el primero de la lista, para esto
recibimos como parámetro la Lista en la cual queremos insertar el nodo y el valor
que guardará como información el nodo. Creamos el nodo, guardamos la
información recibida, y le decimos al nuevo nodo que apunte a dónde está
apuntando actualmente la Lista, resguardada esta dirección podemos decirle a
Lista que apunte al nuevo nodo, de esta manera el nodo queda insertado al
principio de todo.
Pilas
La Pila es una Lista a la que sólo se le permite insetar y quitar nodos por el
principio.
Crear Pila
Insertar PUSH
PROCEDURE Insertar ( VAR Pila:TipoPila ; Valor:TipoInfo);
VAR
Ptr:TipoPila;
BEGIN
New(Ptr);
Ptr^.Info := Valor;
Ptr^.Siguiente := Pila;
Pila := Ptr;
END;
Sacar POP
-------------------------------
<- | 23 | 21 | 31 | 12 | 99 | 02 | <-
-------------------------------
Cabeza COLA