Advertisement
Guest User

fifo

a guest
Jan 18th, 2014
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.52 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. struct element
  6. {
  7. int liczba;
  8. element *nastepny;
  9. element *poprzedni;
  10. };
  11.  
  12. int main()
  13. {
  14.     element *wierzcholek_kolejki = NULL;
  15.     element *koniec_kolejki = NULL;
  16.     element *pomoc = NULL;
  17.  
  18.  
  19.     cout << "Podaj jedna z instrukcji:\n";
  20.     cout << "1 - aby dodac liczbe na koniec stosu\n";
  21.     cout << "2 - aby usunac liczbe z poczatku stosu\n";
  22.     cout << "3 - aby dodac liczbe na poczatek stosu\n";
  23.     cout << "4 - aby usunac liczbe z konca stosu\n";
  24.     cout << "5 - aby wyswietlic zawartosc stosu\n";
  25.  
  26.     int instrukcja;
  27.  
  28.     while (cin >> instrukcja)
  29.     {
  30.         switch(instrukcja)
  31.         {
  32.         case 1:
  33.             pomoc = new element;
  34.             cin >> pomoc->liczba;
  35.             if(wierzcholek_kolejki == NULL)
  36.             {
  37.                 pomoc->nastepny = pomoc->poprzedni = NULL;
  38.                 koniec_kolejki = wierzcholek_kolejki = pomoc;
  39.             }
  40.             else
  41.             {
  42.                 pomoc->nastepny = NULL;
  43.                 koniec_kolejki->nastepny = pomoc;
  44.                 pomoc->poprzedni = koniec_kolejki;
  45.                 koniec_kolejki = pomoc;
  46.             } break;
  47.  
  48.         case 2:
  49.             if (wierzcholek_kolejki != NULL)
  50.             {
  51.                 pomoc = wierzcholek_kolejki;
  52.                 if(wierzcholek_kolejki == koniec_kolejki)
  53.                     wierzcholek_kolejki = koniec_kolejki = NULL;
  54.                 else
  55.                     wierzcholek_kolejki = wierzcholek_kolejki->nastepny;
  56.                 delete pomoc;
  57.             }
  58.             else cout << "Kolejka jest pusta" << endl;
  59.             break;
  60.         case 3:
  61.             pomoc = new element;
  62.  
  63.             cin >> pomoc->liczba;
  64.             if(koniec_kolejki == NULL)
  65.             {
  66.                 pomoc->poprzedni = pomoc->nastepny = NULL;
  67.                 wierzcholek_kolejki = koniec_kolejki = pomoc;
  68.             }
  69.             else
  70.             {
  71.                 pomoc->poprzedni = NULL;
  72.                 wierzcholek_kolejki->poprzedni = pomoc;
  73.                 pomoc->nastepny = wierzcholek_kolejki;
  74.                 wierzcholek_kolejki = pomoc;
  75.             }
  76.             break;
  77.         case 4:
  78.             if (koniec_kolejki != NULL)
  79.             {
  80.                 pomoc = koniec_kolejki;
  81.                 if(koniec_kolejki == wierzcholek_kolejki)
  82.                     koniec_kolejki = wierzcholek_kolejki = NULL;
  83.                 else
  84.                 {
  85.                     koniec_kolejki = koniec_kolejki->poprzedni;
  86.                     poprzedni->nastepny = NULL;
  87.                 }
  88.  
  89.                 delete pomoc;
  90.             }
  91.             else cout << "Kolejka jest pusta" << endl;
  92.             break;
  93.         case 5:
  94.             if(wierzcholek_kolejki != NULL)
  95.             {
  96.                 cout << "Zawartosc kolejki:" << endl;
  97.                 pomoc = wierzcholek_kolejki;
  98.                 while(pomoc != NULL)
  99.                 {
  100.                     cout << pomoc->liczba << " ";
  101.                     pomoc = pomoc->nastepny;
  102.                 }
  103.             }
  104.             else
  105.                 cout << "Kolejka jest pusta." << endl;
  106.             break;
  107.         default:
  108.             cout << "1 - aby dodac liczbe na koniec stosu\n";
  109.             cout << "2 - aby usunac liczbe z poczatku stosu\n";
  110.             cout << "3 - aby dodac liczbe na poczatek stosu\n";
  111.             cout << "4 - aby usunac liczbe z konca stosu\n";
  112.             cout << "5 - aby wyswietlic zawartosc stosu\n";
  113.             break;
  114.         }
  115.     }
  116. return 0;
  117. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement