Document Importantes

Páginas: 9 (2188 palabras) Publicado: 8 de noviembre de 2013
Materia: Lenguaje y Programación
Unidad I
Profa . Ing. Msc. Lennys Camargo.Estructuras de Datos Dinámicas -Listas Simplemente Enlazadas
Estructuras de Datos Dinámicas:
Las estructuras dinámicas nos permiten crear estructuras de datos que se adapten a las necesidades
reales a las que suelen enfrentarse nuestros programas. Pero no sólo eso, también nos permitirán crear
estructuras de datosmuy flexibles, ya sea en cuanto al orden, la estructura interna o las relaciones entre
los elementos que las componen.
Las estructuras de datos están compuestas de otras pequeñas estructuras a las que llamaremos nodos o
elementos, que agrupan los datos con los que trabajará nuestro programa y además uno o más punteros
autoreferenciales, es decir, punteros a objetos del mismo tipo nodo.
Unaestructura básica de un nodo para crear listas de datos seria:
struct nodo {
int dato;
struct nodo *otronodo;
};

El campo "otronodo" puede apuntar a un objeto del tipo nodo. De este modo, cada nodo puede usarse
como un ladrillo para construir listas de datos, y cada uno mantendrá ciertas relaciones con otros nodos.
Para acceder a un nodo de la estructura sólo necesitaremos un puntero a unnodo.
DATO
Nodo

Listas Enlazadas:
Listas Abiertas: La forma más simple de estructura dinámica es la lista abierta. En esta forma, los
nodos se organizan de modo que cada uno apunta al siguiente, y el último no apunta a nada, es decir, el
puntero del nodo siguiente vale NULL.
En las listas abiertas existe un nodo especial: el primero. Normalmente diremos que nuestra lista es un
puntero a eseprimer nodo y llamaremos a ese nodo la cabeza de la lista. Eso es porque mediante ese
único puntero podemos acceder a toda la lista.
Cuando el puntero que usamos para acceder a la lista vale NULL, diremos que la lista está vacía.
El nodo típico para construir listas tiene esta forma:
struct nodo {
int dato;
struct nodo *siguiente;
};

Materia: Lenguaje y Programación
Unidad I
Profa .Ing. Msc. Lennys Camargo.Estructuras de Datos Dinámicas -Listas Simplemente Enlazadas
En el ejemplo, cada elemento de la lista sólo contiene un dato de tipo entero, pero en la práctica no hay
límite en cuanto a la complejidad de los datos a almacenar.
Declaraciones de tipos para manejar listas en lenguaje C
typedef struct nodo {
int dato;
/* aquí van las variables del nodo*/
struct nodo*siguiente;
} tipoNodo;
typedef tipoNodo *pNodo;
typedef tipoNodo *Lista;

tipoNodo es el tipo para declarar nodos, evidentemente.
pNodo es el tipo para declarar punteros a un nodo.
Lista es el tipo para declarar listas, como puede verse, un puntero a un nodo y una lista son la misma
cosa. En realidad, cualquier puntero a un nodo es una lista, cuyo primer elemento es el nodo apuntado.Lista enlazada
Es muy importante que nuestro programa nunca pierda el valor del puntero al primer elemento, ya que
si no existe ninguna copia de ese valor, y se pierde, será imposible acceder al nodo y no podremos
liberar el espacio de memoria que ocupa.






Operaciones Básicas con Listas:
Añadir o insertar elementos
Buscar o localizar elementos
Borrar elementos
Moverse a través deuna lista anterior, siguiente, primero.

Nota:
Cada una de estas operaciones tendrá varios casos especiales, por ejemplo, no será lo mismo insertar un
nodo en una lista vacía, o al principio de una lista no vacía, o la final, o en una posición intermedia.
Insertar elementos en una Lista Abierta. Lista Vacía
Este es, evidentemente, el caso más sencillo. Partiremos de que ya tenemos el nodo ainsertar y, por
supuesto un puntero que apunte a él, además el puntero a la lista valdrá NULL:

Materia: Lenguaje y Programación
Unidad I
Profa . Ing. Msc. Lennys Camargo.Estructuras de Datos Dinámicas -Listas Simplemente Enlazadas

lista vacía
El proceso es muy simple, bastará con que:
1. nodo->siguiente apunte a NULL.
2. Lista apunte a nodo.

Lista
dato

null

Insertar un...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • DOCUMENTOS IMPORTANTES
  • documentos importantes
  • documentos importantes
  • Documento Importante
  • Documentos Importantes
  • documentos importantes
  • Documento Importante
  • Importancia de los documentos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS