Nov 17, 2024
Static Memory Allocation
Array Declaration
int q[n]; (where n is the size of the array, defined as a macro)Global Variables
int front = -1;int rear = -1;nq Function)Conditions to Check:
rear == n - 1, queue is full.front and rear are -1.Code Example:
if (rear == n - 1) {
printf("Queue is full");
} else if (front == -1 && rear == -1) {
front = rear = 0;
} else {
rear++;
}
q[rear] = x;
dq Function)Conditions to Check:
front and rear are -1.front == rear, reset both to -1 after dequeue.Code Example:
if (front == -1 && rear == -1) {
printf("Queue is empty");
} else if (front == rear) {
front = rear = -1;
} else {
front++;
}
if (front == -1 && rear == -1) {
printf("Queue is empty");
} else {
for (i = front; i <= rear; i++) {
printf("%d ", q[i]);
}
}
if (front != -1) {
printf("The front element is: %d", q[front]);
}
rear = (rear + 1) % n).