Listas en programación: tipos, operaciones y aplicaciones
1. LISTAS
PRESENTADO POR:
ALIS AIDE CASTELLANOS AVENDAÑO
OLGA JANETH QUINTERO MOSCOSO
ING. AGUSTIN DE JESUS VILLALOBOS
FUNDACION UNIVERSITARIA DE SAN GIL UNISANGIL
FACULTAD DE INGENIERIA DE SISTEMAS III SEMESTRE
SEDE CHIQUINQUIRA
2013
2. INTRODUCCIÓN
Este trabajo de investigación se realizo con
el fin de conocer que son listas en
programación, poder clasificar su función,
su operación y estructura para entender
su aplicación y por medio de algunas
operaciones básicas poder resolver un
algoritmo.
3. QUE SON LISTAS EN PROGRAMACIÓN?
Una lista es un conjunto de
elementos del mismo tipo ingresados
en forma secuencial y ordenada,
pueden ser dinámicas.
5. OPERACIONES BASICAS CON ARRAYS
RECORRIDO
Procedimiento recorrido (mes,12 )
[Calcular el número de meses ventas superiores a 100
a ejemplares]
n 0
desde i1 hasta 12 hacer
leer (mes[i]) >1000
entonces n n+1
fin si
fin-desde
[lista de ventas]
Desde ihasta 12 hacer
Escribir (i,mes[i])
Fin desde
Fin procedimiento
6. INSERCIÓN DE UN ELEMENTO
Alfa
BMW
Citroen
Ford
Opel
Seat
Volkswagen
Lista [1]
Lista [2]
Lista [3]
Lista [4]
Lista [5]
Lista [6]
Lista [7]
TOYOTA
7. La lista esta ordenada alfabéticamente.
Elementos a insertar en la posición 6; los pasos
a dar son:
Lista [j+1] lista [j] para j=6
Lista [6] ‘Toyota’
8. Estructura
Procedimiento INCERTAR (lista, n, k, t)
[n, entero; k, entero positivo; t, el elemento a insertar]
[Inicializar contador]
Inicio
jn
Mientras j >=k hacer
Lista [j + 1] lista [j]
Jj – 1
Fin mientras
Lista[k] t
N n + 1 {actualización de n}
Fin
9. SUPRIMIR UN ELEMENTO (Borrar)
Estructura
Procedimiento borrar (L,n,k,t) [cabecera del
procedimiento]
[L: lista a procesar]
Inicio
T L[k]
Desde k j hasta n – 1
L [j] L[j + 1]
Fin desde
n n – 1 [actualizar el elemento del array]
10. LISTAS ENLAZADAS
Una lista enlazada está constituida por
nodos, cuyo orden se establece mediante
punteros o enlaces (link). El campo puntero
a veces se denomina siguiente (next).
Representación de un elemento o nodo de
una lista enlazada.
INFO PUNTERO
11. Conceptos básicos
Un puntero (enlace siguiente) es una variable cuyo valor es la dirección de otra
variable
Estructura de cada elemento (nodo)
INFO PUNTERO
Nombre
Dirección Dirección del siguiente
a teléfono nodo de la lista
12. Ultimo nodo (final de la lista),
contiene un valor nulo (nil) que
es una dirección no valida –
puntero nulo—(en la práctica, 0
o valores negativos); se
representa gráficamente por nil
(nulo), una X, o una diagonal /
13. Inicio o información del nodo 1
Primero puntero o enlace del nodo 2
Manzanas
1000 1600 1400
Manzanas
2000 1500
Peras 1400Manzanas 1600 Limones 2000
Uvas 1500 Melocotones Nil
14. RECORRIDO DE UNA LISTA ENLAZADA
La estructura de un nodo es:
INFO ENLACE
P
P dirección del nodo
NODO(P) nodo apuntado por P
INFO(P) campos de información (datos) del nodo de dirección P
ENLACE(p) valor del campo enlace; representa la dirección o posición del
s siguiente nodo en la lista enlazada.
16. SUPRESIÓN DE UN NODO
El algoritmo para eliminar de la lista
enlazada el nodo siguiente al apuntador por
P. se utiliza Q una variable puntero auxiliar
y se establecerá para apuntar al nodo que
se desea eliminar.
17. INSERCIÓN DE UN NODO
La inserción de un nodo N en una lista
enlazada entre dos nodos, A y B exige
obtener espacio en memoria para el nuevo
nodo. Se necesitan 3 variables de
punteros, P, Q Y NUEVO.
18. • A) Obtener espacio para el
nuevo nodo y hacer que la
variable puntero auxiliar
NUEVO apunte a el.
• B) INFO(NUEVO) t
• C) QENLACE (P)
• D) ENLACE (P)NUEVO
• E) ENLACE(NUEVO)Q
19. En los algoritmos de inserción
y eliminación se necesitan dos
funciones: una para crear
espacio para el nodo y otra
para devolver el espacio
ocupado y poder reutilizarlo de
nuevo.
20. CONCLUSIONES
Pódenos concluir que las listas en
programación son esenciales porque
nos permiten almacenar, incluir o
eliminar de una forma ordenada ya
sea numérica o alfabéticamente las
variables en un algoritmo