From 2816ed09140b928a378fd975a876a7d3d1cacace Mon Sep 17 00:00:00 2001 From: Neeraj Kumar Date: Fri, 25 Oct 2019 13:35:41 +0530 Subject: [PATCH] implementation of circular queue using array --- circ queue by array.c | 108 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 circ queue by array.c diff --git a/circ queue by array.c b/circ queue by array.c new file mode 100644 index 0000000..433c371 --- /dev/null +++ b/circ queue by array.c @@ -0,0 +1,108 @@ +#include +int a[10]; +int i,n,x,num; +int front=-1,rear=-1; +int main() +{ + printf("enter total no of element in array\n"); + scanf("%d",&n); + do + { + printf("1:insertion\n"); + printf("2:deletion\n"); + printf("3:display\n"); + printf("4:exit\n"); + printf("enter ur choice\n"); + scanf("%d",&x); + switch(x) + { + case 1: + insertion(); + break; + case 2: + deletion(); + break; + case 3: + display(); + break; + } + } + while(x<=3); +} +insertion() +{ + if((front==0&&rear==n-1)||(front==rear+1)) + printf("overflow\n"); + else + { + printf("enter the no to be insert\n"); + scanf("%d",&num); + if(front==-1&&rear==-1) + { + front=0; + rear=0; + } + else + { + if(front!=0&&rear==n-1) + { + rear=0; + } + else + { + rear=rear+1; + } + + } + } + a[rear]=num; +} +deletion() +{ + if(front==-1&&rear==-1) + printf("underflow\n"); + else + { + if(front==rear) + { + printf("the deleted element is %d\n",a[front]); + front=-1; + rear=-1; + } + else + { + if(front==n-1) + { + printf("the deleted element is %d\n",a[front]); + front=0; + } + else + { + printf("the deleted element is %d\n",a[front]); + front=front+1; + } + } + } +} +display() +{ + if(front==-1&&rear==-1) + printf("queue is empty\n"); + else + { + printf("the queue is\n"); + if(front>rear) + { + for(i=front;i