Advertisement
35657

Untitled

Jun 19th, 2023
683
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.40 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. //#include <ctime>
  4.  
  5. using namespace std;
  6.  
  7.  
  8.  
  9. template <typename T>
  10. class Queue {
  11. public:
  12.     void Push(const T& element) {
  13.         elements_[size] = element;
  14.         size++;
  15.     }
  16.     void Pop() {
  17.         if (size > 0) {
  18.             for (int i = 0; i < size - 1; i++) {
  19.                 elements_[i] = elements_[i + 1];
  20.             }
  21.             size--;
  22.         }
  23.     }
  24.     const T& Back() const {
  25.         return elements_[size];
  26.     }
  27.     T& Back() {
  28.         return elements_[size];
  29.     }
  30.  
  31.     const T& Front() const {
  32.         return elements_[0];
  33.     }
  34.     T& Front() {
  35.         return elements_[0];
  36.     }
  37.  
  38.     void Print() const {
  39.         for (int i = 0; i < size; i++) {
  40.             cout << elements_[i] << ' ';
  41.         }
  42.         cout << endl;
  43.     }
  44.  
  45.     int Size() const {
  46.         return size;
  47.     }
  48.     bool IsEmpty() const {
  49.         return size == 0;
  50.     }
  51.  
  52. private:
  53.     T elements_[20];
  54.     int size = 0;
  55. };
  56.  
  57. int main() {
  58.     Queue<int> queue;
  59.     //int start_time = clock();
  60.     for (int i = 0; i < 10; ++i) { // для замеров 500000 ставить
  61.         queue.Push(i);
  62.         queue.Print();
  63.     }
  64.     cout << endl;
  65.  
  66.     while (!queue.IsEmpty()) {
  67.         queue.Print();
  68.         queue.Pop();
  69.     }
  70.     cout << endl;
  71.     //int end_time = clock();
  72.     //cout << end_time - start_time << " milliseconds" << endl;
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement