Вот простая реализация программы очереди на C:
#include <stdio.h>
#define MAX_SIZE 100
int queue[MAX_SIZE];
int front = -1;
int rear = -1;
void enqueue(int value) {
if (rear == MAX_SIZE - 1) {
printf("Queue is full.\n");
return;
}
if (front == -1)
front = 0;
rear++;
queue[rear] = value;
printf("%d enqueued to the queue.\n", value);
}
void dequeue() {
if (front == -1 || front > rear) {
printf("Queue is empty.\n");
return;
}
printf("%d dequeued from the queue.\n", queue[front]);
front++;
}
void display() {
if (front == -1 || front > rear) {
printf("Queue is empty.\n");
return;
}
printf("Queue elements: ");
for (int i = front; i <= rear; i++) {
printf("%d ", queue[i]);
}
printf("\n");
}
int main() {
enqueue(10);
enqueue(20);
enqueue(30);
display();
dequeue();
display();
return 0;
}
Эта программа реализует очередь с использованием массива. Функция enqueue
используется для вставки элементов в очередь, функция dequeue
используется для удаления элементов из очереди, а функция display
используется для печати элементов очереди.