/ Published in: C++
Implementacija pomoću polja
Expand |
Embed | Plain Text
struct tord{ int i[1000]; int j[1000]; int p; int z; }; struct tred{ int i; int j; }; typedef tord red; typedef tred element; tord *InitQ(tord *&Q){ Q = new tord; Q->p = 0; Q->z = 999; return Q; }; int AddOne(int x){ return ((x+1)%(1000)); }; element FrontQ(tord *Q){ element elem; elem.i = elem.j = -1; if(AddOne(Q->z) != Q->p){ elem.i = Q->i[Q->p]; elem.j = Q->j[Q->p]; } return elem; }; void EnQueueQ(element x,tord *Q){ if(AddOne(AddOne(Q->z)) != Q->p){ Q->z = AddOne(Q->z); Q->i[Q->z] = x.i; Q->j[Q->z] = x.j; } }; void DeQueueQ(tord *Q){ if(AddOne(Q->z) != Q->p) Q->p = AddOne(Q->p); }; bool IsEmptyQ(tord *Q){ if(AddOne(Q->z) != Q->p) return false; else return true; };
You need to login to post a comment.
