Posted By

nhorvat on 12/03/11


Tagged

red


Versions (?)

red_polje.h


 / Published in: C++
 

simulacija cekaonice

  1. #define velicina 10000
  2. using namespace std;
  3. #include<iostream>
  4. struct ordinacija{
  5. int x[velicina+1], y[velicina+1];
  6. int front, rear;
  7. };
  8. struct ordinacijaP{
  9. int x,y;
  10. };
  11. typedef ordinacijaP pomocna;
  12. typedef ordinacija red;
  13.  
  14. int AddOne(int n){
  15. return ((n+1)%(velicina+1));
  16. };
  17.  
  18. ordinacija *InitQ(ordinacija *&Q){
  19. Q=new ordinacija;
  20. Q->rear=velicina;
  21. Q->front=0;
  22. return Q;
  23. };
  24.  
  25. pomocna FrontQ(ordinacija *Q){
  26. pomocna pom;
  27. pom.x=pom.y=-1;
  28. if(AddOne(Q->rear) != Q->front){ // ako nije prazan red
  29. pom.x=Q->x[Q->front];
  30. pom.y=Q->y[Q->front];
  31. }
  32. return pom; // prazan red
  33. };
  34.  
  35. void EnQueueQ(pomocna x, ordinacija *Q){
  36. if(AddOne(AddOne(Q->rear)) != Q->front) { // ako nije pun red
  37. Q->rear=AddOne(Q->rear);
  38. Q->x[Q->rear]=x.x; // unos u red
  39. Q->y[Q->rear]=x.y;
  40. }
  41. else cout<<"Zapis nije dodan.\nPun red!\n";
  42. };
  43.  
  44. void DeQueueQ(ordinacija *Q){
  45. if(AddOne(Q->rear) != Q->front) // ako nije prazan red
  46. Q->front = AddOne(Q->front);
  47. else cout<<"Prazan red!\n";
  48. };
  49.  
  50. bool IsEmptyQ(ordinacija *Q){
  51. if(AddOne(Q->rear) != Q->front) // ako nije prazan red
  52. return false;
  53. return true;
  54. };

Report this snippet  

You need to login to post a comment.