4 LISTAS SIMPLES CON PUNTEROS
ALGORITMOS Y ESTRUCTURA DE DATOS
LISTAS SIMPLES CON PUNTEROS
DEFINICION:
Las Listas Simples son un tipo de estructuras de datos que se caracterizan porque cada uno de sus elementos apunta odirecciona al siguiente, por lo cual también se le conoce con el nombre de listas Enlazadas.
GRAFICAMENTE:
DEFINICION DE LA LISTA SIMPLE
struct Elemento
{
int dato;
Elemento *sig;
};Elemento *p;
p = new Elemento;
p ->sig = NULL;
EXPLICACION
La estructura definida contiene un miembro que es un puntero a un objeto del mismo tipo. Esto permitirá a un elemento creado referenciar asu sucesor.
La instrucción: Elemento *p, declara un puntero p a un objeto de tipo Elemento.
La instrucción: p = new Elemento, crea (asigna memoria para) un objeto de tipo Elemento, genera un puntero(dirección de memoria) que referencia este nuevo objeto y asigna esta dirección a la variable p.
La instrucción: p ->sig = NULL, asigna al miembro sig del objeto apuntado por p el valor NULL, indicandoasí que después de este elemento no hay otro.
El valor NULL, dirección nula, nos permite crear estructuras finitas.
Una declaración como p = NULL, indica una lista vacía.
REFERENCIAS DE OBJETOS PORMÁS DE UN PUNTERO
Un objeto se puede referenciar por mas de un puntero y también un objeto de un de
Terminado tipo puede copiarse en otro objeto del mismo tipo.
Ejemplo:
#include
void (*_new_handler)(void);
void error_new(void);
struct elemento
{
int dato;
elemento *sig;
};
main()
{
elemento *p, *q, *r;
_new_handler = error_new; // error_new()sera invocada si ocurre un error al ejecutar new
// Creacion de dos objetos de tipo elemento apuntados por p y q respectivamente
p = new elemento;
q = new elemento;
p ->dato = 5;
// Copiar elobjeto apuntado por p en el objeto apuntado por q.
*q = *p;
// r apunta al mismo objeto que q
r = q;
// Escribir 10
cout<
}
void error_new(void)
{
cerr<<"Error: insuficiente...
Regístrate para leer el documento completo.