Static Queue Operation (Menu Driven Program) – Data Structures in C Program

#include <stdio.h>
#include <stdlib.h>

struct Queue{
    int que[5];
    int f,r;
};

typedef struct Queue * QUEUE;

void insert(QUEUE q){
    if (q->r==4){
        printf("Queue Overflown");
        return;
    }
    printf("Enter data>> ");
    scanf("%d",&q->que[++q->r]);
}

void delete(QUEUE q){
    if (q->f>q->r){
        printf("Queue Emptyn");
        return;
    }
    q->f++;
}

void print(QUEUE q){
    if (q->f>q->r){
        printf("Queue Emptyn");
        return;
    }
    for (int i=q->f;i<=q->r;i++){
        printf("%d",q->que[i]);
    }
}

void main(){
    int choice;
    struct Queue Q;
    QUEUE q = &Q;
    q->f = 0;
    q ->r = -1;
    while(1){
        printf("n1.INSERTn2.DELETEn3.PRINTnEnter your choice>> ");
        scanf("%d",&choice);
        switch(choice){
            case 1: insert(q);break;
            case 2: delete(q);break;
            case 3: print(q);
        }
    }
}

Rich Engineer - Study Materials, Tutorials, Updates and much more!
Leave a Reply