#include #include #include #include #include using namespace std; /*—Zad. 2. Zaimplementuj podstawowe operacje wykonywane na kolejce — dodanie elementu do kolejki void add (ele* &poczkol, ele* &konkol, int x) — pobranie pierwszego elementu kolejki i zwrócenie go jako wartości funkcji int next(ele* &poczkol, ele* &konkol) — zwrócenie (wartości) elementu z początku kolejki bez jego usuwania int firstEl(ele* poczkol) — sprawdzenie czy kolejka jest pusta bool isEmpty(ele* poczkol) }*/ struct element{ int liczba; element* nastepny; }; //ZAD 1 //a) Dodanie elementu do kolejki void add(element* &poczkol, element* &konkol, int &x){ element *nowy; if ((poczkol == NULL) && (konkol == NULL)){ nowy = konkol; konkol=new element; konkol->liczba = x; konkol->nastepny = nowy; poczkol = konkol; } else{ nowy = new element; nowy->liczba = x; nowy->nastepny=konkol->nastepny; konkol->nastepny=nowy; konkol = nowy; } } //b) pobranie elementu z kolejki int next(element* &poczkol, element* &konkol){ if (poczkol == 0){ cout << "Kolejka jest pusta" << endl; return 0; } else{ element * temp = poczkol; poczkol = poczkol->nastepny; int x = temp->liczba; delete temp; cout << "Pobralem z kolejki liczbe: " << x << endl; return x; } } //c) wyswietlenie pierwszego elementu w kolejce int firstEle(element* &poczkol){ if(poczkol == 0) { cout << "Kolejka jest pusta" << endl; return NULL; } else { cout << "Na poczatku kolejki jest liczba: " << poczkol->liczba << endl; return poczkol->liczba; } } //d) sprawdz czy kolejka jest pusta bool isEmpty(element* &poczkol){ if (poczkol == 0){ cout << "Kolejka jest pusta" << endl; return 1; } else{ cout << "W kolejce jest minimum jeden element" << endl; return 0; } } void pokazMenu() { system("cls"); cout << "1. Dodaj element do kolejki n" << "2. Pobierz pierwszy element kolejki n" << "3. Wyswietl pierwszy element kolejki n" << "4. Sprawdz czy kolejka jest pusta n" << "5. Wyjscie n" << endl << "Wybor: "; } int main(int argc, char** argv) { int pobranaLiczba; int wybor; element *k1 = new element; k1 = 0; element * koniecKolejki = new element; koniecKolejki = 0; do { pokazMenu(); cin >> wybor; switch(wybor) { case 1: { cout << "Podaj liczbe ktora chcesz wrzucic do kolejki: "; cin >> pobranaLiczba; add(k1, koniecKolejki, pobranaLiczba); system("PAUSE"); break; } case 2: { next(k1, koniecKolejki); system("PAUSE"); break; } case 3: { firstEle(k1); system("PAUSE"); break; } case 4: { isEmpty(k1); system("PAUSE"); break; } } }while (wybor != 5); }