/ Published in: C++
SP zadatak3
Expand |
Embed | Plain Text
#define velicina 10000 struct ordinacija{ int x[velicina+1], y[velicina+1]; int front, rear; }; struct ordinacijaP{ int x,y; }; typedef ordinacijaP pomocna; typedef ordinacija red; int AddOne(int n){ return ((n+1)%(velicina+1)); }; ordinacija *InitQ(ordinacija *&Q){ Q=new ordinacija; Q->rear=velicina; Q->front=0; return Q; }; pomocna FrontQ(ordinacija *Q){ pomocna pom; pom.x=pom.y=-1; if(AddOne(Q->rear) != Q->front){ // ako nije prazan red pom.x=Q->x[Q->front]; pom.y=Q->y[Q->front]; } return pom; // prazan red }; void EnQueueQ(pomocna x, ordinacija *Q){ if(AddOne(AddOne(Q->rear)) != Q->front) { // ako nije pun red Q->rear=AddOne(Q->rear); Q->x[Q->rear]=x.x; // unos u red Q->y[Q->rear]=x.y; } else std::cout<<"Zapis nije dodan.\nPun red!\n"; }; void DeQueueQ(ordinacija *Q){ if(AddOne(Q->rear) != Q->front) // ako nije prazan red Q->front = AddOne(Q->front); else std::cout<<"Prazan red!\n"; }; bool IsEmptyQ(ordinacija *Q){ if(AddOne(Q->rear) != Q->front) // ako nije prazan red return false; return true; };
You need to login to post a comment.
