Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- //===================
- //DOWIAZANIOWO
- //===================
- struct element{
- element *next;
- int key;
- };
- element *head=0;
- element *tail=0;
- void enqueueList(int x)
- {
- element *n;
- n = new element;
- n->key = x;
- n->next = 0;
- if(head==NULL)
- head = n;
- else
- tail->next = n;
- tail = n;
- cout<<"[+]: "<< x <<endl;
- }
- void dequeueList()
- {
- if(head!=NULL)
- {
- int x = head->key;
- head = head->next;
- cout<<"[-]: "<< x<< endl;
- }
- else
- cout<<"[-]: Kolejka pusta"<<endl;
- if(head == NULL)
- tail = NULL;
- }
- void usunList()
- {
- if(head == NULL)
- cout<<"[USUN] Kolejka pusta"<<endl;
- else
- {
- element *p;
- while(head!=0)
- {
- p = head->next;
- delete head;
- head = p;
- }
- cout<<"[USUN] Usunieto cala kolejke"<<endl;
- }
- }
- void drukujList()
- {
- cout<<"[KOLEJKA]: ";
- if(head==NULL)
- cout<<"Kolejka pusta"<<endl;
- else
- {
- for(element *p = head; p!=0; p=p->next)
- if(p->next == 0)
- cout<< p->key;
- else
- cout<< p->key <<" ->";
- cout<<endl;
- }
- }
- //===================
- //TABLICOWO
- //===================
- const int rozmiar = 10;
- int kolejka[rozmiar];
- int head2 = 0;
- int tail2 = 0;
- bool empty()
- {
- for(int i= 0; i < rozmiar; i++)
- if( kolejka[i]!=0)
- return false;
- return true;
- }
- void enqueueTab(int x){
- cout<<"[+]: ";
- if(head2 == tail2 && !empty())
- {
- cout<<"Kolejka pelna"<<endl;
- return;
- }
- if(head2 <= tail2)
- {
- if(tail2 < rozmiar-1)
- {
- kolejka[tail2]= x;
- ++tail2;
- }
- else if(tail2 == rozmiar-1)
- {
- kolejka[tail2] = x;
- tail2 = 0;
- }
- cout<< x<<endl;
- }
- else if(tail2 < head2)
- {
- kolejka[tail2] = x;
- ++tail2;
- cout<< x<<endl;
- }
- }
- void drukujTab(){
- int d = head2;
- if(empty())
- return;
- if(d >= tail2)
- {
- while(d < rozmiar - 1)
- {
- cout<< kolejka[d] << " ";
- ++d;
- }
- if(d == rozmiar-1)
- {
- cout << kolejka[d] << " ";
- d = 0;
- }
- }
- while(tail2 > d)
- {
- cout << kolejka[d] << " ";
- ++d;
- }
- }
- int dequeueTab(){
- if(!empty())
- {
- int wynik = head2;
- head2++;
- return kolejka[wynik];
- }
- else
- {
- cout << "Kolejka pusty" << endl;
- return -1;
- }
- }
- int main(){
- drukujList();
- enqueueList(5);
- enqueueList(3);
- enqueueList(-8);
- enqueueList(7);
- enqueueList(6);
- drukujList();
- dequeueList();
- dequeueList();
- dequeueList();
- dequeueList();
- dequeueList();
- dequeueList();
- drukujList();
- enqueueList(4);
- enqueueList(8);
- drukujList();
- usunList();
- drukujList();
- enqueueList(6);
- enqueueList(4);
- drukujList();
- cout<<endl<<endl<<endl;
- enqueueTab(5);
- enqueueTab(6);
- enqueueTab(-4);
- enqueueTab(8);
- enqueueTab(6);
- enqueueTab(2);
- enqueueTab(1);
- enqueueTab(3);
- enqueueTab(5);
- enqueueTab(9);
- enqueueTab(8);
- enqueueTab(-1);
- drukujTab();
- dequeueTab();
- drukujTab();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement