Professional Documents
Culture Documents
Objetivos
Introduccin
Las estructuras de datos lineales son aquellas en las que los elementos ocupan lugares
sucesivos en la estructura y cada uno de ellos tiene un nico sucesor y un nico
predecesor.
Cola
Colas Estticas
Mtodo para insertar datos en la cola
public void Insertar( int dato):
H=-1 T=-1
cola
Insertar(4)
Insertar(10)
cola
cola
4
0
H T
Cdig
o
Insertar(15)
1
0
4
2
H
T
Cdig
o:
1
0
1
H
Cdigo:
Insertar(7)
cola
1
5
2
4
3
1
0
1
H
Cdigo:
Insertar(-1)
cola
1
5 7
2
4
4
1
0
1
H
Cdigo:
Insertar(6)
cola
1
5 7
2
ERROR:
desbordamiento
-1
T
Cdigo:
1
0
4
0
4
0
1
0
1
cola
1
5 7
2
cola
1 1
0 5 7
0
int dato =
Borrar()
-1
-1
cola
1
5 7
-1
cola
int dato
=Borrar()
cola
cola
-1
-1
-1
4
4
H
HT
HT
0 1234
H=-1, T=-1
ERROR:
subdesbordamie
nto
Cola circular
La cola circular es una mejora de la cola simple, debido a que es una estructura de
datos lineal en la cual el siguiente elemento del ltimo es, en realidad, el primero. La
cola circular utiliza de manera ms eficiente la memoria que una cola simple.
Colas dinmicas
Es una coleccin de nodos, que se crean en memoria conforme se necesitan.
Desarrollo de la prctica
Ejercicio 1.
En el proyecto colaLSE Implementar la funcin que permite Insertar
un elemento en la estructura cola lineal dinmica.
void Insertar(Lista *cola, int dato)
Consideraciones:
a) Si la lista est vaca deber de inicializar h y t con el valor de la direccin del
nuevo nodo.
b) Si existen elementos en la lista, el nuevo nodo deber insertarse en la lista
ligando el ltimo nodo con el nuevo nodo.
c) Deber actualizar el valor de t
Ejercicio 2.
Implementar la funcin Borrar, sta funcin permite extraer un
elemento de la cola dinmica.
Nodo * Borrar(Lista *cola)
Consideraciones:
d) Si la lista esta vaca mandar un mensaje de error y regresar un valor NULL
e) Si solo existe un elemento en la lista h y t se colocan en NULL y regresa el nodo
que era referenciado por h.
f) Si existe ms de un elemento h pasa al siguiente elemento de la lista y regresa
el nodo que era referenciado por h.
Ejercicio 3.
Escribir un programa que implemente una cola circular dinmica.
Copie el archivo colaLSE.c del ejercicio anterior y sobre el realice los cambios
necesarios.
Consideraciones:
Ing. Patricia Del Valle Morales
a) Modificar el mtodo que crea un nuevo nodo, para que reciba como parmetro la
variable h (que es la referencia al primer elemento de la lista).
b) El campo siguiente del nodo deber de tener el valor de h en lugar de NULL.
c) Modificar es la funcin de Insertar
d) Modificar la funcin Listar
e) Modificar la funcin Borrar
Ejercicio extra para reafirmar conocimiento
Ejercicio 4.
Escriba un programa que implemente el funcionamiento de
una estructura cola esttica (con arreglos) de nmeros enteros.
Ejercicio 5.
Implemente una aplicacin con estructura cola que inserte 10
nmeros enteros y desde la aplicacin principal extraiga estos datos y los
totalice, es decir, realice la suma de los elementos que extrae y cuando la
lista este vaca presente el resultado.
Reflexin del alumno (Esta es una actividad de reflexin para el alumno, donde
deber de realizar una conclusin identificando reas de oportunidad para fortalecer
el conocimiento que le hace falta)
Evaluacin:
Porcent
aje
20%
20%
50%
10%
100%
Proceso
Ejercicio 1
Ejercicio 2
Ejercicio 3
Reflexin
TOTAL
Puntuacin
obtenida
TIEMPO
20 MINUTOS
20 MINUTOS
60 MINUTOS
10 MINUTOS
1 HORA 50
MINUTOS