Queue operations using array
Write a Menu Driven C Program to implement queue operations using array. Here’s simple Program to implement queue operations using array in C Programming Language.
What is Queue ?
Queue is also an abstract data type or a linear data structure, in which the first element is inserted from one end called REAR, and the deletion of existing element takes place from the other end called as FRONT.
This makes queue as FIFO data structure, which means that element inserted first will also be removed first.
Basic Operations : :
- enqueue() − add (store) an item to the queue.
- dequeue() − remove (access) an item from the queue.
- peek() − Gets the element at the front of the queue without removing it.
- isfull() − Checks if the queue is full.
- isempty() − Checks if the queue is empty.
Below is the source code for C Program to implement queue operations using array which is successfully compiled and run on Windows System to produce desired output as shown below :
SOURCE CODE : :
/* Menu Driven C Program to implement queue using array */ #include<stdio.h> #include<stdlib.h> #define MAX 10 int queue_arr[MAX]; int rear=-1; int front=-1; void insert(int item); int del(); int peek(); void display(); int isFull(); int isEmpty(); int main() { int choice,item; while(1) { printf("\n1.Insert\n"); printf("2.Delete\n"); printf("3.Display element at the front\n"); printf("4.Display all elements of the queue\n"); printf("5.Quit\n"); printf("\nEnter your choice : "); scanf("%d",&choice); switch(choice) { case 1: printf("\nInput the element for adding in queue : "); scanf("%d",&item); insert(item); break; case 2: item=del(); printf("\nDeleted element is %d\n",item); break; case 3: printf("\nElement at the front is %d\n",peek()); break; case 4: display(); break; case 5: exit(1); default: printf("\nWrong choice\n"); }/*End of switch*/ }/*End of while*/ return 0; }/*End of main()*/ void insert(int item) { if( isFull() ) { printf("\nQueue Overflow\n"); return; } if( front == -1 ) front=0; rear=rear+1; queue_arr[rear]=item ; }/*End of insert()*/ int del() { int item; if( isEmpty() ) { printf("\nQueue Underflow\n"); exit(1); } item=queue_arr[front]; front=front+1; return item; }/*End of del()*/ int peek() { if( isEmpty() ) { printf("\nQueue Underflow\n"); exit(1); } return queue_arr[front]; }/*End of peek()*/ int isEmpty() { if( front==-1 || front==rear+1 ) return 1; else return 0; }/*End of isEmpty()*/ int isFull() { if( rear==MAX-1 ) return 1; else return 0; }/*End of isFull()*/ void display() { int i; if ( isEmpty() ) { printf("\nQueue is empty\n"); return; } printf("\nQueue is :\n\n"); for(i=front;i<=rear;i++) printf("%d ",queue_arr[i]); printf("\n\n"); }/*End of display() */
OUTPUT : :
/* Menu Driven C Program to implement queue using array */ 1.Insert 2.Delete 3.Display element at the front 4.Display all elements of the queue 5.Quit Enter your choice : 1 Input the element for adding in queue : 1 1.Insert 2.Delete 3.Display element at the front 4.Display all elements of the queue 5.Quit Enter your choice : 1 Input the element for adding in queue : 2 1.Insert 2.Delete 3.Display element at the front 4.Display all elements of the queue 5.Quit Enter your choice : 1 Input the element for adding in queue : 3 1.Insert 2.Delete 3.Display element at the front 4.Display all elements of the queue 5.Quit Enter your choice : 1 Input the element for adding in queue : 4 1.Insert 2.Delete 3.Display element at the front 4.Display all elements of the queue 5.Quit Enter your choice : 4 Queue is : 1 2 3 4 1.Insert 2.Delete 3.Display element at the front 4.Display all elements of the queue 5.Quit Enter your choice : 3 Element at the front is 1 1.Insert 2.Delete 3.Display element at the front 4.Display all elements of the queue 5.Quit Enter your choice : 2 Deleted element is 1 1.Insert 2.Delete 3.Display element at the front 4.Display all elements of the queue 5.Quit Enter your choice : 2 Deleted element is 2 1.Insert 2.Delete 3.Display element at the front 4.Display all elements of the queue 5.Quit Enter your choice : 2 Deleted element is 3 1.Insert 2.Delete 3.Display element at the front 4.Display all elements of the queue 5.Quit Enter your choice : 2 Deleted element is 4 1.Insert 2.Delete 3.Display element at the front 4.Display all elements of the queue 5.Quit Enter your choice : 2 Queue Underflow
If you found any error or any queries related to the above program or any questions or reviews , you wanna to ask from us ,you may Contact Us through our contact Page or you can also comment below in the comment section.We will try our best to reach up to you in short interval.
Thanks for reading the post….
The isempty method is wrong….if we are display the values without deleting any ,then it will display queue is empty because in isempty its checking if f==-1 and after entering the values in the queue f is still -4
why is repeating on the run screen on output window
Is it for linear queue
#include<stdio.h> #include<string.h> #include<stdlib.h> #define MAX 50 int top = -1; char stack[MAX]; char pop(); void push(char); int main() { char str[50]; unsigned int i = 0 ; int j = 0 ; char k[50]; printf(“Enter the string : ” ); gets(str); int len = strlen(str); int count = 0 ; for( i = 0; i<len; i++) { if(str[i]!= ‘ ‘) { push(str[i]); count++; } else{ while(count) { k[j++] = pop(); count–; } k[j++] = ‘ ‘; } } puts(k); return 0; }/*End of main()*/ void push(char item) { if(top == (MAX-1)) { printf(“nStack Overflown”); return;… Read more »