Definición
Una lista es un
conjunto ordenado de elementos homogéneos, en la que no hay restricciones de
acceso, la introducción y borrado de elementos puede realizarse en cualquier
posición de la misma. Esta es una estructura dinámica, por lo que no podemos
saber con certeza los elementos (nodos) que puede contener, ya que su tamaño
cambia a medida que se añaden y eliminan elementos de la misma.
Características
- Se accesa a toda la
lista a partir de un apuntador externo llamado Lista contiene la dirección del
primer nodo en la lista.
- Cada nodo tiene dos
secciones: el contenido de datos (Info) y el campo del apuntador (sig).
- El campo Info (de información) contiene el
elemento real en la lista.
-El campo sig (dirección siguiente) contiene la
dirección del siguiente nodo en la lista. Tal dirección se conoce como
apuntador.
-El último nodo tiene
un apuntador nulo.
-Cada nodo es una
estructura de datos de tipo registro.
-Una lista vacía es
aquella que no contiene nodos. Lista=NULL.
Operaciones básicas
de una lista:
·
Recorrido de la lista: Visita todos los elementos de la lista.
Function largo (l: lista): integer;
Var
Contador:
integer;
P:
lista;
Begin
Contador:=0;
P:=l;
While p <> vnil do
Begin
Contador:= contador + 1;
P:=p .siguiente; (Avanzar a la siguiente celda)
End;
Largo:=contador;
End;
·
Inserción de un elemento: Agrega un elemento a la lista.
Procedure
agregar_al_principio (var l: Lista; elem: t);
Var p:
Lista;
Begin
New (p); (crear nueva celda)
p. elemento:= elem; (cargar el elemento)
(Ajuste de punteros)
p. siguiente:=L;
L:=p;
End;
Procedure
agregar_al_final (var L: Lista; elem: T);
Var p.q:
Lista;
Begin
New (p); (crear nueva celda)
p.elemento:=elem; (cargar el elemento)
p. siguiente:= nil; (es el ultimo)
If l= nil then
L:=p
Else
Begin
(Buco
el último de l)
Q:=l;
While q. siguiente <> nil do
Q:=q. siguiente;
(Engancho
p a continucion del último)
q. siguiente:=p;
End;
End;
·
Borrado de un elemento: Retira un elemento de la lista.
Procedure
borrar_primero (var l: lista);
Var
P: lista;
Begin
P:=l;
L:=l. siguiente;
Dispose (p)
End;
Procedure
borrar_lista (l: lista);
Var
P:
lista;
Begin
While l
<>nil do
Begin
P:= l;
L:= l. siguiente;
Dispose (p);
End;
End;
·
Búsqueda de un elemento: Busca el elemento en la lista.
Function
pertenece (elem: T; L Lista): boolean;
Var
P: Lista;
Begin
P:=L;
(Notar: evolución por circuito
corto)
Write (p <> nil) and (p. elemento <> elem)
do
P:=
p. siguiente;
Pertenece:=
(p <> nil);
End;
·
Vacía: Indica si la
lista contiene o no elementos.
·
Tamaño: Indica el número
de elementos de la lista.
Estructura
básica
Type
Lista = celda;
Celda = record
Elemento: T;
Siguiente: lista;
End;
Tipos de listas
·
Listas Simples: Se define como
un conjunto de nodos uno detrás de otro, del cual siempre se puede conocer al
nodo inicial y al final, de cada nodo de la lista, se conoce un contenido, que
es la información que almacena dentro puede ser de cualquier tipo de dato un
sucesor único excepto el ultimo nodo de la lista.
·
Listas Ordenadas: Son las
que la posición de cada nodo viene determinada por el valor de uno o más campos
obligatorios de información del nodo denominado clave. No se permite tener dos
nodos con la misma clave.
lista es una colección ordenada de valores.
ResponderBorrarEste comentario ha sido eliminado por el autor.
ResponderBorrarMuy bien el contenido pero en lo personal lo entiendo mejor de esta manera...
ResponderBorrarUna lista es una sucesión de nodos en la que a partir de un nodo se puede acceder al que ocupa la siguiente posición en la lista y para que un nodo pueda acceder al siguiente y la lista no se rompa en varias listas cada nodo tiene que tener un puntero que guarde la dirección de memoria que ocupa el siguiente elemento.
La creacion de un blog nos faclilita la manera de aprender mas sobre la estructura de datos dinamicas de una forma interesante y original...
ResponderBorrarSi! Una herramienta muy útil y creativa :)
Borrarse me hace mas fácil y es una manera de utilizar el internet de una forma adecuada
Borrarme encanto esta estrategia, nos enseña a compartir temas de clases creativa y dinamicamente
ResponderBorrarlistas, es un grupo ordenado de elementos homogéneo, en la que no hay restriccion de acceso. Dicha lista es estructura dinammica lo que significa que no se puede saber exactamente cuanto elementos caben ya que su tamaño varia si se añaden o eliminan elementos a la misma
ResponderBorrarTambien se puede decir que una lista es una estructura de datos LINEAL con un número limitado de elementos homogéneos que se llaman nodos. Se puede acceder a estos a través de su dirección, se pueden insertar y suprimir en cualquier posición
ResponderBorrarEn las colas el primer elemento en entrar es el primero en salir
ResponderBorrarEste blog contiene muchas cosas muy interesantes y es muy creativo el cual ayuda mucho al aprendizaje de los estudiantes y cualquier persona que quiera aprender sobre pascal
ResponderBorrarFue una excelente idea la creacion de este blog
ResponderBorrarlas pilas es la estructura mas utilizada en pascal y tiene dos operaciones que son PUSH y POP
ResponderBorrareste comentario esta fuera de contexto. En el blog no trabajamos pilas
BorrarLas colas se insertan por un lugar y se extrae por otro cuando son simples
ResponderBorrarbuena estrategia la del blog, nos ayudara a conocer y a compartir todo sobre las estruturas de datos dinamicas...
ResponderBorrarEste comentario ha sido eliminado por el autor.
ResponderBorrarLas listas se definen como un grupo de elementos son características similares que pueden variar constantemente al introducir y eliminar dichos elementos dentro de la estructura, por lo tanto no se puede saber de antemano el tamaño de esta. Por otra parte es necesario mencionar que en este tipo de estructura se puede hacer el recorrido completo y no importa la posición en la que se introduzcan o eliminen los datos.
ResponderBorrarla lista es una estructura de datos lineal con un número limitado de elementos homogéneos que se llaman nodos. Se puede acceder a estos a través de su dirección, se pueden insertar y suprimir en cualquier posición
ResponderBorrarExcelente, le invito a que sigan indagando por las estructuras de datos, ya que facilita el uso de registros en los sistemas informáticos. a fin de lograr con el objetivo planteado les invito a que realicen las siguientes actividades:
ResponderBorrar1.- Realiza un cuadro comparativo entre listas simples, listas doblemente enlazadas y listas circulares
2.- Desarrolla un programa en Pascal que a través de un menú puedas insertar, eliminar e imprimir elementos en una lista simple y una lista circular.
Este comentario ha sido eliminado por el autor.
Borrarlink del cuadro comprarativo :p ------> http://prntscr.com/6c0kdo <------
Borrarla cola es como un tipo de estructura de datos que almacena la informacion de manera abstracta ya que dichos datos entran por un extremo y salen por el otro extremo.
ResponderBorrarlos nodos es como un registro que contiene un dato de interes como en un caso de la vida real es la red de internet. ya que consiste en una red de ordenadores en las que cada servidor interactua y comparte informacion.
las listas en las estructuras de datos es fundamental para ser usada en la implementacion de otras estructuras de datos... ¿como asi?... pues, ellos contienen unos nodos en las que se almacenan los datos en donde permite que el orden sea diferente a cualquier otra estructura de datos...
Las listas son mas simples de declarar ya que en comparacion con las colas y pilas, estas te deja manipular un elemento sin importar en cual posicion se encuentre, y es por ello que no es necesaria las sentecias repetitivas en todas sus operaciones, como se puede observar en la informacion antes mencionada.
ResponderBorrarUna lista es una estructura de datos secuencial.
ResponderBorrarUna manera de clasificarlas es por la forma de acceder al siguiente elemento:
- lista densa: la propia estructura determina cuál es el siguiente elemento de la lista. Ejemplo: un array.
- lista enlazada: la posición del siguiente elemento de la estructura la determina el elemento actual. Es necesario almacenar al menos la posición de memoria del primer elemento. Además es dinámica, es decir, su tamaño cambia durante la ejecución del programa.
Una lista enlazada se puede definir recursivamente de la siguiente manera:
- una lista enlazada es una estructura vacía o
- un elemento de información y un enlace hacia una lista (un nodo).
En las listas simples 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.
ResponderBorrarAki dejo mi link del cuadro comparativo: http://prntscr.com/6e3yfb
ResponderBorrarLos elementos de la lista se debera usar un ciclo for con una variable de control llamda renglon, misma que se usara tambien como indice de la lista.
ResponderBorrarPara desplegar los elementos de la lista, tambien se usa un ciclo for con su variable de control renglon, tal como se muestra en el ejemplo.
Este es el link de mi cuadro comparativo http://prntscr.com/6f9hxx
ResponderBorrarmi cuadro comparativo lo pueden encontrar aca http://prntscr.com/6for9c
ResponderBorrarhttp://prntscr.com/6hrqq4
ResponderBorrarlista:Es una estructura de datos fundamental, y puede ser usada para implementar otras estructuras de datos, consiste en una secuencia de nodos ordenados por datos homogéneos en donde no hay restricción de acceso. La lista es una estructura dinámica lo que significa que no se sabe el tamaño de la misma ya que varía si se añaden o se eliminan elementos.
ResponderBorrarEntiendo por Listas que es una de las principales estructuras de datos, Consiste en un conjunto de nodos enlazados. las listas van se la mano junto con las colas y las pilas pero cada una tiene sus caracteristicas y funciones, existente varios tipos de listas entre ellos estas las listas simples, listas doblemente enlazadas y las listas circulares que son unas de las mas utilizadas en la programacion, La ventaja de las listas son el orden en que esta constituida tanto en los enlaces como en su almacenamiento...esta seria mi breve resumen de este tema tan extenso pero interesante como las lista y su papel en las estructuras de datos...
ResponderBorrarNo hay que olvidar que lenguajes de programación tales como Lisp y Scheme tienen listas enlazadas simples ya construidas. En muchos lenguajes de programación, estas listas están construidas por nodos, cada uno llamado cons o celda cons. Las celdas cons tienen dos campos: el car, una referencia del dato al nodo, y el cdr, una referencia al siguiente nodo. Aunque las celdas cons pueden ser usadas para construir otras estructuras de datos, este es su principal objetivo.
ResponderBorrarLa lista enlazada es un TDA que nos permite almacenar datos de una forma organizada, al igual que los vectores pero, a diferencia de estos, esta estructura es dinámica, por lo que no tenemos que saber "a priori" los elementos que puede contener.
ResponderBorrarEn una lista enlazada, cada elemento apunta al siguiente excepto el último que no tiene sucesor y el valor del enlace es null. Por ello los elementos son registros que contienen el dato a almacenar y un enlace al siguiente elemento. Los elementos de una lista, suelen recibir también el nombre de nodos de la lista.