ESTRUCTURAS DE DATOS
ARREGLOS Y COLAS
Prof. Hildren Morales
Abril 2021
ESTRUCTURAS DE DATOS
ARREGLOS
.
Un arreglo es un conjunto de datos o una estructura de datos
homogéneos que se encuentran ubicados en forma consecutiva
en la memoria RAM que sirve para almacenar datos en forma
temporal. Grupo o colección finita, homogénea y ordenada de elementos
También llamado vector estático, permite almacenar un CONJUNTO
de datos del mismo tipo. Se define con un único nombre y por medio
de un subíndice hacemos referencia a cada elemento.
En algunos lenguajes los vectores y los arreglos se tratan como estructuras
distintas
Siendo los primeros objetos que crecen dinámicamente, mientras que los arreglos
Tienen tamaño fijo cuando compilan
ESTRUCTURAS DE DATOS
ARREGLOS
Typedef A = array [n] of dato;
Var x:A
• Palabra reservada
• El nombre del arreglo
• Rango permitido
• Tipo de datos a almacenar en el arreglo
• Definición de las variable tipo arreglo
• X [i] o A [i] para referenciar al arreglo
ESTRUCTURAS DE DATOS
ARREGLOS
1.-Diseñar un algoritmo que ingrese 30 notas aprobados
y que muestre la nota mayor y el promedio de todas
(Nota>=10 y Nota<=20)
2.- Diseñar un algoritmo que ingrese15 números cualesquiera.
3.- Utilizando arreglos, ingresar 20 números y calcular
cual es el número menor.
4.- Almacenar en un arreglo los 5 primeros números primos
positivos.
ESTRUCTURAS DE DATOS
COLAS
Las colas se utilizan en sistemas informáticos, transportes y
operaciones de investigación (entre otros), dónde los
objetos,
personas o eventos son tomados como datos que se
almacenan y se guardan mediante colas para su posterior
procesamiento. Este tipo de estructura de datos abstracta se
implementa en forma de arreglos y otras estructuras.
ESTRUCTURAS DE DATOS
COLAS
Una cola es una estructura de datos, caracterizada
por ser una secuencia de elementos en la que la
operación de inserción PUSH() se realiza por un extremo
y la operación de extracción POP() por el otro.
Es una estructura FIFO(First In First Out),
debido a que el primer elemento en entrar será también
el primero en salir.
ESTRUCTURAS DE DATOS
COLAS
Colas circulares (anillos): en las que el último elemento y el
primero están unidos.
Colas de prioridad: En ellas, los elementos se atienden en el
orden indicado por una prioridad asociada a cada uno.
Bicolas: son colas en donde los nodos se pueden añadir y
quitar por ambos extremo
ESTRUCTURAS DE DATOS
COLAS
Entonces el arreglo podría lucir algo asi...
0000000000
En ese momento llega 3 y se forma
3000000000
Luego llega 5 y se forma
3500000000
Después llega 4 y se forma
3540000000
Luego llega 9, y después de eso llega 2
3549200000
Entonces al encargado del registro se le ocurre comenzar a
atender, y atiende a 3.
ESTRUCTURAS DE DATOS
COLAS
Entonces el arreglo quedaría así
0549200000
En ese momento llega 6 ,7,9,10,11
0 5 4 9 2 6 7 8 10 11
Luego sigue el taquillero atendiendo , le corresponde al 5 y luego
al 4 quedando de esta forma
0 0 0 9 2 6 7 8 10 11
Después llega 12 y se forma
12 0 0 9 2 6 7 8 10 11
Si observamos tocaría atender al 9 a pesar que el 12 esta
en la posición 0 del arreglo
ESTRUCTURAS DE DATOS
COLAS
Implementar la operación de colocar un elemento a la cola es
muy sencillo en este caso se implementa utilizando
una cola circular, con el manejo de dos subíndices, fin e inicio :
cola[fin++]=elemento; /*introduce el elemento al final de la cola
e
incrementa contador*/
If (fin>=tamaño de la cola)
fin=0;
Y casi lo mismo es sacar un elemento de la cola
cola[inicio++]=0;
if(inicio>=tamaño de la cola)
inicio=0;
ESTRUCTURAS DE DATOS
COLAS
como estaria inicio y fin
Fin inicio
12 0 0 9 2 6 7 8 10 11
Luego sigue el taquillero atendiendo , le corresponde al 9 y luego
al 2 quedando de esta forma
Fin Inicio
12 0 0 0 0 6 7 8 10 11
Después llega 13 , 14, 15 y 16
Fin=inicio /*cola esta llena, debo esperar o
activar la atención*/
12 13 14 15 16 6 7 8 10 11
ESTRUCTURAS DE DATOS
COLAS
Ejercicio
Bajo la implementación utilizando arreglos y colas circulares
como
determinar si la cola esta llena o vacía