Simple Queue Program in C Programming
On this page (5sections)
About this program
This is an example program in c queue programs. Read the concept first: C Array, then study the code and output below.
Definition
In each of the cases, the customer or object at the front of the line was the first one to enter, while at the end of the line is the last to have entered. Every time a customer finishes paying for their items (or a person steps off the escalator, or the machine part is removed from the assembly line, etc.) that object leaves the queue from the front. This represents the queue ?dequeue? function. Every time another object or customer enters the line to wait, they join the end of the line and represent the ?enqueue? function. The queue ?size? function would return the length of the line, and the ?empty? function would return true only if there was nothing in the line.
Simple Queue Program
/* Simple Queue Program in C*/
/* Data Structure Programs,C Array Examples */
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define MAX_SIZE 100
int main() {
int item, choice, i;
int arr_queue[MAX_SIZE];
int rear = 0;
int front = 0;
int exit = 1;
printf("\nSimple Queue Example - Array");
do {
printf("\n\n Queue Main Menu");
printf("\n1.Insert \n2.Remove \n3.Display \nOthers to exit");
printf("\nEnter Your Choice : ");
scanf("%d", &choice);
switch (choice) {
case 1:
if (rear == MAX_SIZE)
printf("\n## Queue Reached Max!!");
else {
printf("\nEnter The Value to be Insert : ");
scanf("%d", &item);
printf("\n## Position : %d , Insert Value : %d ", rear + 1, item);
arr_queue[rear++] = item;
}
break;
case 2:
if (front == rear)
printf("\n## Queue is Empty!");
else {
printf("\n## Position : %d , Remove Value : %d ", front, arr_queue[front]);
front++;
}
break;
case 3:
printf("\n## Queue Size : %d ", rear);
for (i = front; i < rear; i++)
printf("\n## Position : %d , Value : %d ", i, arr_queue[i]);
break;
default:
exit = 0;
break;
}
} while (exit);
return 0;
}
Sample Output:
Simple Queue Example - Array
Queue Main Menu
1.Insert
2.Remove
3.Display
Others to exit
Enter Your Choice : 1
Enter The Value to be Insert : 100
## Position : 1 , Insert Value : 100
Queue Main Menu
1.Insert
2.Remove
3.Display
Others to exit
Enter Your Choice : 1
Enter The Value to be Insert : 200
## Position : 2 , Insert Value : 200
Queue Main Menu
1.Insert
2.Remove
3.Display
Others to exit
Enter Your Choice : 1
Enter The Value to be Insert : 300
## Position : 3 , Insert Value : 300
Queue Main Menu
1.Insert
2.Remove
3.Display
Others to exit
Enter Your Choice : 1
Enter The Value to be Insert : 400
## Position : 4 , Insert Value : 400
Queue Main Menu
1.Insert
2.Remove
3.Display
Others to exit
Enter Your Choice : 3
## Queue Size : 4
## Position : 0 , Value : 100
## Position : 1 , Value : 200
## Position : 2 , Value : 300
## Position : 3 , Value : 400
Queue Main Menu
1.Insert
2.Remove
3.Display
Others to exit
Enter Your Choice : 2
## Position : 0 , Remove Value : 100
Queue Main Menu
1.Insert
2.Remove
3.Display
Others to exit
Enter Your Choice : 3
## Queue Size : 4
## Position : 1 , Value : 200
## Position : 2 , Value : 300
## Position : 3 , Value : 400
Queue Main Menu
1.Insert
2.Remove
3.Display
Others to exit
Enter Your Choice : 2
## Position : 1 , Remove Value : 200
Queue Main Menu
1.Insert
2.Remove
3.Display
Others to exit
Enter Your Choice : 3
## Queue Size : 4
## Position : 2 , Value : 300
## Position : 3 , Value : 400
Queue Main Menu
1.Insert
2.Remove
3.Display
Others to exit
Enter Your Choice : 1
Enter The Value to be Insert : 1100
## Position : 5 , Insert Value : 1100
Queue Main Menu
1.Insert
2.Remove
3.Display
Others to exit
Enter Your Choice : 3
## Queue Size : 5
## Position : 2 , Value : 300
## Position : 3 , Value : 400
## Position : 4 , Value : 1100
Queue Main Menu
1.Insert
2.Remove
3.Display
Others to exit
Enter Your Choice : 2
## Position : 2 , Remove Value : 300
Queue Main Menu
1.Insert
2.Remove
3.Display
Others to exit
Enter Your Choice : 2
## Position : 3 , Remove Value : 400
Queue Main Menu
1.Insert
2.Remove
3.Display
Others to exit
Enter Your Choice : 2
## Position : 4 , Remove Value : 1100
Queue Main Menu
1.Insert
2.Remove
3.Display
Others to exit
Enter Your Choice : 2
## Queue is Empty!
Queue Main Menu
1.Insert
2.Remove
3.Display
Others to exit
Enter Your Choice : 4
------------------
(program exited with code: 0)
Related Pages
Learn the concept first, then study the code:
- Data Structures — Browse all Data Structures.
- C Array — Concept — arrays and indices in queue logic.
- Simple Queue Program using functions in C Programming — More in c queue programs.