Facebook
From Beige Gibbon, 3 Years ago, written in C++.
Embed
Download Paste or View Raw
Hits: 148
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. struct kolejka
  6. {
  7.     int dana;
  8.     kolejka* poczatek;
  9.     kolejka* koniec;
  10. };
  11.  
  12. void add (kolejka* &kol, int x)
  13. {
  14.     kolejka* tmp=new kolejka;
  15.     tmp->dana=x;
  16.  
  17.     if (kol==NULL)
  18.         {
  19.             tmp->poczatek=tmp;
  20.         }
  21.     else
  22.     {
  23.         tmp->poczatek=kol->poczatek;
  24.         kol->koniec=tmp;
  25.         cout<<"Obecna kolejka to: "<<kol->dana<<" a koniec kolejki ma numer: "<<tmp->dana<<endl;
  26.     }
  27.     kol=tmp;
  28.     cout<<"Obecna kolejka to: "<<kol->dana<<endl;
  29. }
  30.  
  31. bool next (kolejka* &kol, int &co)
  32. {
  33.     cout<<"Kolejka ma numer: "<<kol->dana<<endl;
  34.     if (kol!=NULL)
  35.     {
  36.         kolejka* tmp=kol->poczatek;
  37.         cout<<tmp->dana<<endl;
  38.         if(tmp->koniec!=NULL)
  39.         {
  40.             cout<<"kolejny numer kolejki "<<tmp->koniec->dana<<endl;
  41.             tmp->poczatek=tmp->koniec;
  42.         }/*
  43.         else
  44.         {
  45.             cout<<"Ha druga petla"<<endl;
  46.             //tmp->koniec=tmp->poczatek;
  47.         }*/
  48.  
  49.  
  50.         delete kol;
  51.         kol=NULL;
  52.         kol=tmp;
  53.         cout<<"A teraz kolejka ma numer: "<<kol->dana<<endl;
  54.         return true;
  55.     }else
  56.     {
  57.         cout<<"Kolejka jest pusta."<<endl;
  58.         return false;
  59.     }
  60. }
  61.  
  62. int firstEl (kolejka* kol)
  63. {
  64.     if (kol!=NULL)
  65.         return kol->dana;
  66.     else
  67.     {
  68.         cout<<"Kolejka jest pusta."<<endl;
  69.         return -1;
  70.     }
  71. }
  72.  
  73. bool isEmpty (kolejka* kol)
  74. {
  75.     return kol==NULL;
  76. }
  77.  
  78. int main()
  79. {
  80.     kolejka* kol=NULL;
  81.     for (int i=0; i<5; i++)
  82.         {
  83.             add (kol, i);
  84.         }
  85.     cout<<"Czy kolejka jest pusta: "<<isEmpty(kol)<<endl;
  86.     cout<<"Wartosc pierwszego elementu kolejki (element nie zostanie usuniety): "<<firstEl(kol->poczatek)<<endl;
  87.     for (int i=0; i<5; i++)
  88.     {
  89.         cout<<"Wartosc pierwszego elementu kolejki: "<<firstEl(kol->poczatek)<<endl;
  90.         cout<<"Czy udalo sie pobrac pierwszy element kolejki: "<<next(kol, i)<<endl;
  91.         cout<<"Wartosc kolejnego elementu kolejki: "<<firstEl(kol->koniec)<<endl;
  92.     }
  93.  
  94.     cout<<"Czy kolejka jest pusta: "<<isEmpty(kol)<<endl;
  95.     return 0;
  96. }
  97.