zad
unknown
c_cpp
4 years ago
2.0 kB
7
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...