zad
unknown
c_cpp
4 years ago
2.0 kB
4
Indexable
#include <iostream> #include <ctime> using namespace std; struct element{ int val; element *next = nullptr; }; struct kolejka{ element *head = nullptr; element *tail = nullptr; }; void push(kolejka &obj, int value){ element *el = new element; el->val = value; if( obj.tail != nullptr){ obj.tail->next = el; } else{ obj.head = el; } obj.tail = el; } void pop(kolejka &obj){ element *el = obj.head; obj.head = obj.head->next; delete el; if( obj.head == nullptr ){ obj.tail = nullptr; } } int main(){ srand(time(NULL)); kolejka test; int wybor; while(wybor != 6){ cout << "----MENU----\n1. Sprawdz zawartosc\n2. Dodaj element do kolejki\n3. Usun element z kolejki\n4. Wyswietl glowe kolejki\n5. Usun zawartosc kolejki\n6. Wyjscie z programu" << endl; cout << "->"; cin >> wybor; switch(wybor){ case 1: if (test.head == nullptr){ cout << "\t\tSTATUS: Kolejka jest pusta" << endl; } else{ cout << "\t\tSTATUS: Kolejka jest NIEpusta" << endl; } break; case 2: int val = rand()%10+1; push(test, val); cout << "\t\tSTATUS: Poprawnie dodano element" << endl; break; case 3: if( test.tail == nullptr){ cout << "\t\tSTATUS: Nie mozna usunac elementu. Kolejka jest pusta" << endl; } else{ pop(test); cout << "\t\tSTATUS: Poprawnie usuenieto element" << endl; } break; // case 4: // break; // case 5: // break; // case 6: // break; } } return 0; }
Editor is loading...