Posted By

lkuzmin on 11/21/10


Tagged


Versions (?)

biblioteka


 / Published in: C++
 

  1. typedef int element;
  2.  
  3. struct SRed{
  4. elementtype stavke[10000];
  5. element celo,zacelje;
  6. };
  7.  
  8. typedef struct SRed RED;
  9.  
  10. int AddOne(int n){
  11. return((n+1)%10000);
  12. }
  13.  
  14. int IsEmptyQ(RED *ime_reda){
  15. if (AddOne((*ime_reda).zacelje) == (*ime_reda).celo) return 1;
  16. else return 0;
  17. }
  18.  
  19. elementtype FrontQ(RED *ime_reda){
  20. return (*ime_reda).stavke[(*ime_reda).celo];
  21. }
  22.  
  23. int EnQueueQ(elementtype dodaj , RED *ime_reda){
  24. if (AddOne(AddOne((*ime_reda).zacelje)) == (*ime_reda).celo){
  25. cout << "Greska: Red je popunjen!" << endl;
  26. return 0;
  27. }
  28. (*ime_reda).zacelje = AddOne((*ime_reda).zacelje);
  29. (*ime_reda).stavke[(*ime_reda).zacelje] = dodaj;
  30. };
  31.  
  32. int DeQueueQ(RED *ime_reda){
  33. if (IsEmptyQ(ime_reda)){
  34. cout << "Greska: Red je prazan!" << endl;
  35. return 0;
  36. }
  37. (*ime_reda).celo = AddOne((*ime_reda).celo);
  38. }
  39.  
  40. void InitQ(RED *ime_reda){
  41. (*ime_reda).celo = 0;
  42. (*ime_reda).zacelje = 9999;
  43. }

Report this snippet  

You need to login to post a comment.