/* PROGRAMA: cola_memoria_estatica.cpp DESCRIPCIÓN: Implementación de una cola usando memoria estática AUTOR: Francisco Javier Hernández López INICIO: 04-Feb-2016 ACTUALIZACIÓN: 04-Feb-2016 */ #include #include #define MaxTam 5 void encolar(int cola[], int *ultimo, int x); int desencolar(int cola[], int *primero, int ultimo); int main(void){ printf("\nImplementación de una cola usando memoria estática...\n"); int primero = 0; int ultimo = -1; int cola[MaxTam]; encolar(cola, &ultimo, 10); encolar(cola, &ultimo, 20); encolar(cola, &ultimo, 30); encolar(cola, &ultimo, 40); encolar(cola, &ultimo, 50); encolar(cola, &ultimo, 60); printf("%d ", desencolar(cola, &primero, ultimo)); printf("%d ", desencolar(cola, &primero, ultimo)); printf("%d ", desencolar(cola, &primero, ultimo)); printf("%d ", desencolar(cola, &primero, ultimo)); printf("%d ", desencolar(cola, &primero, ultimo)); printf("%d ", desencolar(cola, &primero, ultimo)); system("pause"); return(0); } void encolar(int cola[], int *ultimo, int x){ if (*ultimo == MaxTam - 1){ printf("\nLa cola está llena..."); } else{ *ultimo = *ultimo + 1; cola[*ultimo] = x; } } int desencolar(int cola[], int *primero, int ultimo){ int valor = -1; if (*primero > ultimo){ printf("\nLa cola está vacía..."); } else{ valor = cola[*primero]; *primero = *primero + 1; } return(valor); }