Facebook
From Matyo, 2 Weeks ago, written in C++.
Embed
Download Paste or View Raw
Hits: 149
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. //string greeting="Hello"
  5. struct elem
  6. {
  7.     string key; elem* next;
  8. } *start = NULL;
  9.  
  10. struct que
  11. {
  12.     string key; que* next;
  13. } *first = NULL, * last = NULL;
  14.  
  15.  
  16. void push(string n)
  17. {
  18.     elem* p = start;  
  19.     start = new elem;  
  20.     start->key = n;  
  21.     start->next = p;
  22. }
  23.  
  24. string pop()
  25. {
  26.     if (start!=NULL)
  27.     {
  28.         string n;
  29.         n = start->key;  
  30.         elem* p = start;  
  31.         start = start->next;  
  32.         delete p;
  33.         return n;
  34.     }
  35.     else
  36.         return "empty";
  37. }
  38.  
  39. void pushQue(string n)
  40. {
  41.     que* p = last;  
  42.     last = new que;  
  43.     last->key = n;
  44.     last->next = NULL;
  45.     if (p != NULL) p->next = last;
  46.     else //добавяне на първи елемент
  47.     {
  48.         first = last;
  49.     }
  50. }
  51.  
  52. string popQue()
  53. {
  54.     if (first)
  55.     {  
  56.         string n;
  57.         n = first->key;  
  58.         que* p = first;  
  59.         first = first->next;  
  60.         delete p;
  61.         return n;
  62.     }
  63.     else
  64.         return "empty";
  65. }
  66.  
  67.  
  68. int main()
  69. {
  70.     //-----------------------------------------------------------
  71.     //--------------------------Stek-----------------------------
  72.     //-----------------------------------------------------------
  73.     cout << "Elementite na steka sa: " << endl;
  74.     push("1. Ivan");
  75.     push("2. Nikolay");
  76.     push("3. Maria");
  77.     push("4. George");
  78.  
  79.     string n;
  80.     do {
  81.         n=pop();
  82.         //printf_s("%s", n);
  83.         cout << n << endl;
  84.     } while (n != "empty");
  85.  
  86.    
  87.  
  88.     //----------------------------------------------------------
  89.     //------------------------Opashka---------------------------
  90.     //----------------------------------------------------------
  91.     cout << endl;
  92.  
  93.     cout << "Elementite na opashkata sa: " << endl;
  94.  
  95.     pushQue("Message One");
  96.     pushQue("Message Two");
  97.     pushQue("Message Three");
  98.     pushQue("Message Four");
  99.  
  100.     string msg;
  101.     do {
  102.         msg = popQue();
  103.         cout << msg << endl;
  104.     } while (msg != "empty");
  105. }