Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <time.h>
- #include <stdio.h>
- using namespace std;
- struct element {
- int data;
- element* next;
- };
- struct kolejka {
- element* head;
- element* tail;
- };
- kolejka create_queue ();
- void enqueue (kolejka &q, int n_d);
- void dequeue (kolejka &q);
- void show_first_el(kolejka &q);
- void show_dequeue(kolejka &q);
- int main()
- {
- kolejka q = create_queue();
- int wybor;
- srand(time(NULL));
- do{
- cout << "Podaj wybor:" << endl;
- cout << "1. Stworzenie nowej kolejki" << endl;
- cout << "2. Dodac losowy element do kolejki" << endl;
- cout << "3. Usunac element z kolejki" << endl;
- cout << "4. Wyswietlic pierwszy element kolejki" << endl;
- cout << "5. wyswietlic cala kolejke razem z usunieciem" << endl;
- cout << "6. Wyjscie" << endl;
- cout << "Odpowiedz:" << endl;
- cin >> wybor;
- switch(wybor){
- case 1: cout << "Kolejka jest stworzona juz na poczatku, wybierz cos innego" << endl ; break;
- case 2: enqueue (q, rand()); break;
- case 3: dequeue (q); break;
- case 4: show_first_el(q); break;
- case 5: show_dequeue(q); break;
- case 6: cout << "Wyszedles z programu" << endl; break;
- default : cout << "bledny wybor" << endl; break;
- }
- } while (wybor != 6);
- return 0;
- }
- kolejka create_queue (){
- kolejka new_queue;
- new_queue.head = nullptr;
- new_queue.tail = nullptr;
- return new_queue;}
- void enqueue (kolejka &q, int r_d){
- cout << r_d << endl;
- element* n_e = new element;
- n_e -> data = r_d;
- n_e -> next = nullptr;
- if(q.tail != nullptr)
- q.tail -> next = n_e;
- q.tail=n_e;
- if(q.head == nullptr)
- q.head = n_e;
- }
- void dequeue (kolejka &q){
- if (q.head == nullptr) return;
- element* temp = q.head;
- q.head = q.head -> next;
- delete temp;
- if(q.head == nullptr)
- q.tail == nullptr;
- }
- void show_first_el(kolejka &q){
- cout << (*q.head).data << endl;
- }
- void show_dequeue(kolejka &q){
- while (q.head != nullptr)
- {
- cout << q.head -> data << endl;
- dequeue(q);}
- }
Add Comment
Please, Sign In to add comment