Advertisement
Nikitka_36

Queue 14

May 3rd, 2014
411
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.18 KB | None | 0 0
  1. Queue.h
  2.  
  3. #ifndef _________18__Queue__
  4. #define _________18__Queue__
  5.  
  6. #include <iostream>
  7.  
  8. #endif /* defined(_________18__Queue__) */
  9.  
  10. using namespace std;
  11.  
  12. class Queue
  13. {
  14. public:
  15.         Queue();
  16.         ~Queue();
  17.  
  18.         struct Element
  19.         {
  20.                 int data;
  21.                 Element *next;
  22.         };
  23.  
  24.         Element *head;
  25.         Element *tail;
  26.  
  27.  
  28.         bool Empty();
  29.         void Dobavka(int);
  30.         void Add(int);
  31.         void Print();
  32. };
  33.  
  34.  
  35. Queue.cpp
  36.  
  37. #include "Queue.h"
  38.  
  39. Queue::Queue()
  40. {
  41.         head = NULL;
  42.         tail = NULL;
  43. }
  44.  
  45. Queue::~Queue()
  46. {
  47.  
  48. }
  49.  
  50. bool Queue::Empty()
  51. {
  52.         if (this->head == NULL)
  53.                 return true;
  54.         return false;
  55. }
  56.  
  57. void Queue::Add(int str)
  58. {
  59.         Element *temp = new Element;
  60.  
  61.         temp->data = str;
  62.         temp->next = NULL;
  63.  
  64.         if (Empty())
  65.                 head = temp;
  66.         else
  67.                 tail->next = temp;
  68.  
  69.         tail = temp;
  70. }
  71.  
  72. void Queue::Dobavka(int str)
  73. {
  74.  
  75.         Element *Vangog = head;
  76.  
  77.         while (Vangog)
  78.         {
  79.                 if (Vangog->data < 0)
  80.                 {
  81.                         Element *temp = new Element;
  82.                         temp->data = str;
  83.  
  84.                         temp->next = Vangog->next;
  85.                         Vangog->next = temp;
  86.                 }
  87.  
  88.                 Vangog = Vangog->next;
  89.         }
  90. }
  91.  
  92. void Queue::Print()
  93. {
  94.         Element *temp = head;
  95.  
  96.         while (temp)
  97.         {
  98.                 cout << temp->data << endl;
  99.                 temp = temp->next;
  100.         }
  101. }
  102.  
  103.  
  104. main.cpp
  105.  
  106.  
  107. #include <iostream>
  108. #include <fstream>
  109. #include <time.h>
  110.  
  111. #include "Queue.h"
  112.  
  113. using namespace std;
  114.  
  115. int main()
  116. {
  117.         setlocale(0, "");
  118.         srand(time(0));
  119.  
  120.         Queue queue;
  121.         for (int i = 0; i < 20; i++)
  122.                 queue.Add((int)rand() % 61 - 31);
  123.  
  124.         cout << "Начальная очередь\n";
  125.         queue.Print();
  126.         cout << endl;
  127.  
  128.         cout << "Измененная очередь";
  129.         queue.Dobavka(100);
  130.  
  131.         queue.Print();
  132.  
  133.         system("pause");
  134.         return 0;
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement