1 class Queue { 2 public: 3 // Push element x to the back of queue. 4 void push(int x) { 5 while (!nums.empty()) { 6 nums_assist.push(nums.top()); 7 nums.pop(); 8 } 9 nums.push(x); 10 while (!nums_assist.empty()) { 11 nums.push(nums_assist.top()); 12 nums_assist.pop(); 13 } 14 } 15 16 // Removes the element from in front of queue. 17 void pop(void) { 18 nums.pop(); 19 } 20 21 // Get the front element. 22 int peek(void) { 23 return nums.top(); 24 } 25 26 // Return whether the queue is empty. 27 bool empty(void) { 28 return nums.empty(); 29 } 30 private: 31 stack<int> nums, nums_assist; 32 };