Advertisement
35657

Untitled

Jun 6th, 2024
391
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.09 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. class Queue {
  5.  
  6. public:
  7.  
  8.     void push(const int value) {
  9.         vec1.push_back(value);
  10.     }
  11.  
  12.     void pop() {
  13.         check_queue();
  14.         if (vec2.empty()) {
  15.             std::cout << "error" << std::endl;
  16.         }
  17.         else {
  18.             vec2.pop_back();
  19.         }
  20.     }
  21.  
  22.     void peek() {
  23.         check_queue();
  24.         if (vec2.empty()) {
  25.             std::cout << "error" << std::endl;
  26.         }
  27.         else {
  28.             std::cout << vec2.back() << std::endl;
  29.         }
  30.     }
  31.  
  32. private:
  33.     std::vector<int> vec1; // 6 7 8 9
  34.     std::vector<int> vec2; // 5 4 3 2 1
  35.  
  36.     void check_queue() {
  37.         if (vec2.empty()) {
  38.             for (int i = vec1.size() - 1; i >= 0; i--) {
  39.                 vec2.push_back(vec1[i]);
  40.             }
  41.             vec1.clear();
  42.         }
  43.     }
  44. };
  45.  
  46.  
  47. int main() {
  48.     setlocale(LC_ALL, "ru");
  49.  
  50.     Queue my_queue;
  51.  
  52.     for (int i = 0; i < 20; i++) {
  53.         my_queue.push(i);
  54.     }
  55.  
  56.     for (int i = 0; i < 20; i++) {
  57.         my_queue.peek();
  58.         my_queue.pop();
  59.     }
  60.  
  61. }
  62.  
  63.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement