implement-queue.cpp (809B)
1 #include <list> 2 #include <iostream> 3 4 5 6 7 8 9 using namespace std; 10 11 12 //Leet Ratings 13 // Speed Memory 14 //Total 2ms 7MB 15 //Beats 43.74% 45.49% 16 //Impletmentation of a queue class using a doubly linked list. 17 18 class MyQueue { 19 public: 20 list<int> sl = {}; 21 22 void push(int x) { 23 sl.push_front(x); 24 } 25 26 int pop() { 27 if (sl.size() != 0) { 28 int value = sl.back(); 29 sl.pop_back(); 30 return value; 31 } else { 32 return pop(); 33 } 34 } 35 36 int peek() { 37 return sl.back(); 38 } 39 40 bool empty() { 41 return sl.empty(); 42 } 43 }; 44 45 46 47 48 49 int main(){ 50 auto queue = MyQueue(); 51 queue.push(10); 52 cout << queue.pop() << endl; 53 queue.push(13); 54 queue.push(124); 55 cout << queue.empty() << endl; 56 cout << queue.pop() << endl; 57 58 59 }