mirror of
https://hub.njuu.cf/TheAlgorithms/C-Plus-Plus.git
synced 2023-10-11 13:05:55 +08:00
87 lines
1.8 KiB
C++
87 lines
1.8 KiB
C++
|
/*
|
||
|
Write a program to implement Queue using linkedlist.
|
||
|
*/
|
||
|
#include <iostream>
|
||
|
|
||
|
struct linkedlist {
|
||
|
int data;
|
||
|
linkedlist *next;
|
||
|
};
|
||
|
class stack_linkedList {
|
||
|
public:
|
||
|
linkedlist *front;
|
||
|
linkedlist *rear;
|
||
|
|
||
|
stack_linkedList() { front = rear = NULL; }
|
||
|
void enqueue(int);
|
||
|
int dequeue();
|
||
|
void display();
|
||
|
};
|
||
|
void stack_linkedList::enqueue(int ele) {
|
||
|
linkedlist *temp = new linkedlist();
|
||
|
temp->data = ele;
|
||
|
temp->next = NULL;
|
||
|
|
||
|
if (front == NULL)
|
||
|
front = rear = temp;
|
||
|
else {
|
||
|
rear->next = temp;
|
||
|
rear = temp;
|
||
|
}
|
||
|
}
|
||
|
int stack_linkedList::dequeue() {
|
||
|
linkedlist *temp;
|
||
|
int ele;
|
||
|
if (front == NULL)
|
||
|
std::cout << "\nStack is empty";
|
||
|
else {
|
||
|
temp = front;
|
||
|
ele = temp->data;
|
||
|
if (front == rear) // if length of queue is 1;
|
||
|
rear = rear->next;
|
||
|
front = front->next;
|
||
|
delete (temp);
|
||
|
}
|
||
|
return ele;
|
||
|
}
|
||
|
void stack_linkedList::display() {
|
||
|
if (front == NULL)
|
||
|
std::cout << "\nStack is empty";
|
||
|
|
||
|
else {
|
||
|
linkedlist *temp;
|
||
|
temp = front;
|
||
|
while (temp != NULL) {
|
||
|
std::cout << temp->data << " ";
|
||
|
temp = temp->next;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
int main() {
|
||
|
int op, data;
|
||
|
stack_linkedList ob;
|
||
|
std::cout << "\n1. enqueue(Insertion) ";
|
||
|
std::cout << "\n2. dequeue(Deletion)";
|
||
|
std::cout << "\n3. Display";
|
||
|
std::cout << "\n4. Exit";
|
||
|
|
||
|
while (1) {
|
||
|
std::cout << "\nEnter your choice ";
|
||
|
std::cin >> op;
|
||
|
if (op == 1) {
|
||
|
std::cout << "Enter data ";
|
||
|
std::cin >> data;
|
||
|
ob.enqueue(data);
|
||
|
} else if (op == 2)
|
||
|
data = ob.dequeue();
|
||
|
else if (op == 3)
|
||
|
ob.display();
|
||
|
else if (op == 4)
|
||
|
exit(0);
|
||
|
else
|
||
|
std::cout << "\nWrong choice ";
|
||
|
}
|
||
|
return 0;
|
||
|
}
|