MCPcopy Create free account
hub / github.com/Ayush7614/Daily-Coding-DS-ALGO-Practice / Queue

Class Queue

Data Structures/QueueUsingLL.cpp:38–91  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

36
37template<typename T>
38class Queue {
39 Node<T>* fron;
40 Node<T>* rear;
41 int size;
42
43 public :
44
45
46 Queue() {
47 size=0;
48 fron=new Node<T>(0);
49 rear=fron;
50 }
51
52 void enqueue(T data) {
53 if(size==0){
54 fron->data=data;
55 rear->data=data;
56 size++;
57 return;
58 }
59 Node<T>* temp=new Node<T>(data);
60 rear->next=temp;
61 rear=temp;
62 size++;
63 }
64
65 int getSize() {
66 return size;
67 }
68
69 bool isEmpty() {
70 return size==0;
71 }
72
73 T dequeue() {
74 // Return 0 if queue is empty
75 if(isEmpty())
76 return 0;
77 T ans=fron->data;
78 Node<T>*temp=fron->next;
79 fron->next=NULL;
80 fron=temp;
81 size--;
82 return ans;
83 }
84
85 T front() {
86 // Return 0 if queue is empty
87 if(size==0)
88 return 0;
89 return fron->data;
90 }
91};
92
93
94int main() {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected