From f34475bbc03079072e04bb9906a73176b91a741a Mon Sep 17 00:00:00 2001 From: Sharad Dixit <96948229+NoVaSharad@users.noreply.github.com> Date: Mon, 17 Oct 2022 12:37:33 +0530 Subject: [PATCH] Add files via upload --- queue.c | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 queue.c diff --git a/queue.c b/queue.c new file mode 100644 index 0000000..b2aa2cc --- /dev/null +++ b/queue.c @@ -0,0 +1,71 @@ +// Queue implementation in C + +#include +#define SIZE 5 + +void enQueue(int); +void deQueue(); +void display(); + +int items[SIZE], front = -1, rear = -1; + +int main() { + //deQueue is not possible on empty queue + deQueue(); + + //enQueue 5 elements + enQueue(1); + enQueue(2); + enQueue(3); + enQueue(4); + enQueue(5); + + // 6th element can't be added to because the queue is full + enQueue(6); + + display(); + + //deQueue removes element entered first i.e. 1 + deQueue(); + + //Now we have just 4 elements + display(); + + return 0; +} + +void enQueue(int value) { + if (rear == SIZE - 1) + printf("\nQueue is Full!!"); + else { + if (front == -1) + front = 0; + rear++; + items[rear] = value; + printf("\nInserted -> %d", value); + } +} + +void deQueue() { + if (front == -1) + printf("\nQueue is Empty!!"); + else { + printf("\nDeleted : %d", items[front]); + front++; + if (front > rear) + front = rear = -1; + } +} + +// Function to print the queue +void display() { + if (rear == -1) + printf("\nQueue is Empty!!!"); + else { + int i; + printf("\nQueue elements are:\n"); + for (i = front; i <= rear; i++) + printf("%d ", items[i]); + } + printf("\n"); +} \ No newline at end of file