/ Published in: C++
implementacija reda pomocu 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.
