Showing posts with label queue. Show all posts
Showing posts with label queue. Show all posts

Saturday, August 9, 2014

Program of the various operations on a dequeue

This is a simple C program of the various operation on a dequeue.

#include<stdio.h> void input_re(); void output_re(); void insert_rear(); void insert_front(); void delet_front(); void delet_rear(); void display(); int dq[50],n,ch,rear=-1,front=-1,d,x,i; main() { int ch,c; printf("\nEnter the size of deque:"); scanf("%d",&n); do{ printf(" MENU\n1.input restricted deque\n2.output restricted deque"); printf("\n enter the choice"); scanf("%d",&ch); switch(ch) { case 1: input_re(); break; case 2: output_re(); break; default: printf("\n Wrong option"); } printf("\n do you want to continue::"); scanf("%d",&c); }while(c==1); } void input_re() { int c; do { int ch; printf("MENU\n1.insert rear\n2.delete front\n3.delete rear\n4.display"); printf("\n enter the choice"); scanf("%d",&ch); switch(ch) { case 1: insert_rear(); break; case 2: delet_front(); break; case 3: delet_rear(); break; case 4: display(); break; default: printf("\n Wrong option"); } printf("\n do you want to continue the input restricted function :"); scanf("%d",&c); }while(c==1); } void output_re() { int ch,c; do { printf("menu\n1.insert rear\n2.insert front\n3.delet from front\n4.display"); printf(" enter the choice"); scanf("%d",&ch); switch(ch) { case 1: insert_rear(); break; case 2: insert_front(); break; case 3: delet_front(); break; case 4: display(); break; default: printf(" invalid option"); } printf("\n do you want to continue the output restricted function:"); scanf("%d",&c); }while(c==1); } void insert_rear() { printf("\n enter the element to be inserted"); scanf("%d",&x); if(((front==0)&&(rear==n-1))||(front==rear+1)) printf("\n deque overflow"); else if((front==-1)&&(rear==-1)) {front=0; rear=0; dq[rear]=x; } else rear=(rear+1)%n; dq[rear]=x; } void insert_front() { printf("\n enter the element to insert:"); scanf("%d",&x); if(((front==0)&&(rear==n-1))||(front==rear+1)) printf("\n deque is full"); else if((front==-1)&&(rear==-1)) front=rear=0; else { if(front==0) front=n-1; else front=front-1; dq[front]=x; }} void delet_front() { if((front==-1)&&(rear==-1)) printf("\n deque is empty"); else { if(front==rear) { front=-1; rear=-1; } else front++; } } void delet_rear() { if((front==-1)&&(rear==-1)) printf("\n deque is empty"); else { if(front==rear) { front=-1; rear=-1; } else { if(rear==0) rear=n-1; else rear=rear-1; } } } void display() { if((front==-1)&&(rear==-1)) printf("\n deque is empty"); else { if(front>rear) { for(i=front;i<n;i++) { d=dq[i]; printf("%d\t",d); } for(i=0;i<=rear;i++) { d=dq[i]; printf("%d\t",d); } } else { for(i=front;i<=rear;i++) { d=dq[i]; printf("%d\t",d); } } } }

Insertion and deletion of number into/from a queue

Simple C program with the deletion and insertion of elements into a queue. If you have any questions, please let me know.

#include<stdio.h>
void eq();
void dq();
void display();
int front=(-1),rear=(-1),q[50],n,i,d,x,a;
main()
{
int ch,c;
printf("enter the number of elements");
scanf("%d",&n);
do
{
printf("MENU \n1.enter \n2.delete \n3.display");
printf("enter choice");
scanf("%d",&ch);
switch(ch)
{
case 1: eq();
break;

case 2: dq();
break;

case 3: display();
break;

default: printf("worong chouice");
break;
}
printf("do you want to continue? \n1.yes \n2.no \n");
scanf("%d",&c);
}
while(c==1);
}
void eq()
{
printf("enter the number to be entered");
scanf("%d",&x);
if(rear==(n-1))
printf("full \n");
else if((front==(-1))&&(rear==(-1)))
{
front=0;
rear=rear+1;
q[rear]=x;
}
else
{
rear=rear+1;
q[rear]=x;
}
}
void dq()
{
if(front==(-1))
printf(" underflow ");
if((rear==(-1))&&(front==(-1)))
printf("its empty \n");
else if(front==rear)
{
d=q[front];
front=rear=(-1);
}
else
{
d=q[front];
front=front+1;
}
}
void display()
{
for(i=front;i<=rear;i++)
printf("%d ",q[i]);
printf(" \n");
}