Untitled

 avatar
unknown
plain_text
2 years ago
1.5 kB
3
Indexable
#include <stdio.h>
#define size 5

int cqueue[size];
int front=-1, rear=-1;

void enqueue(int item){
    if ((rear + 1) % size == front) {
        printf("Cannot enqueue, Queue Overflow.\n");
        return;
    }
    if (rear == -1 && front == -1) {
        rear = 0;
        front = 0;
    }
    else {
        rear =  (rear + 1) % size;
    }
    cqueue[rear] = item;
}

int dequeue() {
    if(rear == -1 && front == -1) {
        printf("Cannot dequeue, Queue Underflow.\n");
        return 0;
    }

    if (front == rear) { 
        front = -1;
        rear = -1;
    }
    else {
        front = (front + 1) % size;
    }

    int del = cqueue[front];
    return del;
}

void display() {
    printf("Elements in the Cqueue are: ");
    for(int i = front; i <= rear; i++) {
        printf("%d, ", cqueue[i]);
    }
    printf("\n");
}

int main(){
    int choice = 0;
    do {
        int element, del;
        printf("0.Exit\n1.Enqueue\n2.Dequeue\n3.Display\nEnter your choice: ");
        scanf("%d", &choice);
        switch(choice) {
            case 1:
                printf("Enter element to enqueue: ");
                scanf("%d", &element);
                enqueue(element);
                break;
            case 2:
                del = dequeue();
                printf("Deleted element is: %d\n", del);
                break;
            case 3:
                display();

        }

    } while (choice != 0);


    return 0;
}
Editor is loading...