/ Published in: C++
Zadatak 3 - Strukture Podataka
Expand |
Embed | Plain Text
#include <iostream> using namespace std; const int br_elem_polja = 10000; struct struktura{ int x[br_elem_polja+1], y[br_elem_polja+1]; int front, rear; }; struct strukturaP{ int x,y; }; typedef strukturaP atrib; typedef struktura queue; int AddOne(int n){ return ((n+1)%(br_elem_polja+1)); }; struktura *InitQ(struktura *&Q){ Q=new struktura; Q->rear=br_elem_polja; Q->front=0; return Q; }; atrib FrontQ(struktura *Q){ atrib pom; pom.x=pom.y=-1; if(AddOne(Q->rear) != Q->front){ pom.x=Q->x[Q->front]; pom.y=Q->y[Q->front]; } return pom; }; void EnQueueQ(atrib x, struktura *Q){ if(AddOne(AddOne(Q->rear)) != Q->front) { Q->rear=AddOne(Q->rear); Q->x[Q->rear]=x.x; Q->y[Q->rear]=x.y; } else cout<<"Napis nije upisan"<<endl<<"Red je pun!"<<endl; }; void DeQueueQ(struktura *Q){ if(AddOne(Q->rear) != Q->front) Q->front = AddOne(Q->front); else cout<<"Red je prazan!"<<endl; }; bool IsEmptyQ(struktura *Q){ if(AddOne(Q->rear) != Q->front) return false; return true; };
You need to login to post a comment.
