Función (FC): Cola de Prioridad - v1.0
Esta función implementa una Cola de Prioridad utilizando un arreglo para
almacenar los datos. La función admite operaciones de encolado, desencolado y
lectura del primer elemento de la cola, con prioridad basada en el parámetro
buffer_priority.
Esta Cola de Prioridadse implementa utilizando el algoritmo Binary Heap,
que es una estructura de datos eficiente para mantener el orden de los elementos
según su prioridad. El Binary Heap permite insertar elementos y eliminar el
elemento de mayor prioridad en tiempo logarítmico, lo que lo hace adecuado para
aplicaciones donde se requiere un acceso rápido a los elementos de mayor prioridad.
Casos de uso
Sección titulada «Casos de uso»- Gestión de tareas o eventos con diferentes niveles de prioridad.
- Implementación de algoritmos de planificación o manejo de recursos.
- Cualquier situación donde se requiera procesar elementos en orden de prioridad.
Dependencias
Sección titulada «Dependencias»| Tipo | Nombre | Versión |
|---|---|---|
tipo de datos | priorityQueueInstanceAttributes | v1.0 |
tipo de datos | priorityQueueMetadata | v1.0 |
enumeración | EPriorityQueueMethod | v1.0 |
enumeración | EPriorityQueueStatus | v1.0 |
Parámetros
Sección titulada «Parámetros»| Parámetro | Declaración | Tipo | Descripción |
|---|---|---|---|
method | Input | Int | Método para ser ejecutado. EPriorityQueueMethod |
instance | InOut | priorityQueueInstanceAttributes | Instancia de la cola |
metadata | InOut | Array[*] of priorityQueueMetadata | Arreglo de metadatos del tipo priorityQueueMetadata |
data | InOut | Variant | Arreglo de datos del tipo <E> |
buffer_data | InOut | Variant | Búfer de datos del tipo <E> |
buffer_priority | InOut | DInt | Cualquier valor dentro de su rango: el número más grande tiene la prioridad más alta |
| - | Return | Int | Returno del estado. EPriorityQueueStatus |