/* * Code example for CP264 Data Structures II * array queue * HBF */ #include #define MAX 10 void enqueue(int queue[], int *front, int *rear, int val); int dequeue(int queue[], int *front, int *rear); int peek(int queue[], int front, int rear); int display(int queue[], int front, int rear); int main() { int queue[MAX]; int front = -1, rear = -1; int i, n=5, val; printf("\nEnqueue:\n"); for (i=0; i *rear) { printf("\n UNDERFLOW"); return val; } else { val = queue[*front]; *front = *front + 1; if (*front > *rear) { *front = -1; *rear = -1; } return val; } } int peek(int queue[], int front, int rear) { if (front == -1 || front > rear) { printf("\n QUEUE IS EMPTY"); return -1; } else { return queue[front]; } } int display(int queue[], int front, int rear) { if (front == -1 || front > rear) { printf("\nQUEUE IS EMPTY"); } else { int i; for (i = front; i <= rear; i++) { printf("%d ", queue[i]); } } } /* Enqueue: Display all: 0 1 2 3 4 Peek value: 0 Dequeue value: 0 Dequeue value: 1 Display all: 2 3 4 */