This is a C Program to Implement Queues using Stacks.
This program implements queue using stack.
1. Take the elements as input and store it in the stack array. Use this array to show the stack operations.
2. Transfer the elements from the stack array into the new array. Do the queue operations in the new array.
3. Exit.
Here is source code of the C Program to Implement Queues using Stacks. The C program is successfully compiled and run on a Linux system. The program output is also shown below.
/*
* C Program to Implement Queues using Stacks
*/
#include <stdio.h>
#include <stdlib.h>
void push1(int);
void push2(int);
int pop1();
int pop2();
void enqueue();
void dequeue();
void display();
void create();
int st1[100], st2[100];
int top1 = -1, top2 = -1;
int count = 0;
void main()
{
int ch;
printf("\n1 - Enqueue element into queue");
printf("\n2 - Dequeu element from queue");
printf("\n3 - Display from queue");
printf("\n4 - Exit");
create();
while (1)
{
printf("\nEnter choice");
scanf("%d", &ch);
switch (ch)
{
case 1:
enqueue();
break;
case 2:
dequeue();
break;
case 3:
display();
break;
case 4:
exit(0);
default:
printf("Wrong choice");
}
}
}
/*Function to create a queue*/
void create()
{
top1 = top2 = -1;
}
/*Function to push the element on to the stack*/
void push1(int data)
{
st1[++top1] = data;
}
/*Function to pop the element from the stack*/
int pop1()
{
return(st1[top1--]);
}
/*Function to push an element on to stack*/
void push2(int data)
{
st2[++top2] = data;
}
/*Function to pop an element from th stack*/
int pop2()
{
return(st2[top2--]);
}
/*Function to add an element into the queue using stack*/
void enqueue()
{
int data, i;
printf("Enter data into queue");
scanf("%d", &data);
push1(data);
count++;
}
/*Function to delete an element from the queue using stack*/
void dequeue()
{
int i;
for (i = 0;i <= count;i++)
{
push2(pop1());
}
pop2();
count--;
for (i = 0;i <= count;i++)
{
push1(pop2());
}
}
/*Function to display the elements in the stack*/
void display()
{
int i;
for (i = 0;i <= top1;i++)
{
printf(" %d ", st1[i]);
}
}
1. Ask the user for the operations like insert, delete and display.
2. According to the entered option access the respective function using switch statement.
3. In the enqueue() function push the element into the array st1[].
4. In the dequeue () function, firstly transfer all the elements of the array st1[] into the new array st2[]. Then the pop the first element of the new array.
5. In the display() function print all the elements of the st1[].
1 - Enqueue element into queue 2 - Dequeu element from queue 3 - Display from queue 4 - Exit Enter choice1 Enter data into queue10 Enter choice1 Enter data into queue20 Enter choice1 Enter data into queue30 Enter choice1 Enter data into queue40 Enter choice3 10 20 30 40 Enter choice2 Enter choice3 20 30 40 Enter choice4
Sanfoundry Global Education & Learning Series – 1000 C Programs.
Here’s the list of Best Books in C Programming, Data-Structures and Algorithms
- Practice Design & Analysis of Algorithms MCQ
- Check Programming Books
- Check Computer Science Books
- Apply for Computer Science Internship
- Practice Programming MCQs