Implementacija reda pomoću cirkularnog polja


/ Published in: C++
Save to your folder(s)



Copy this code and paste it in your HTML
  1. #include <iostream>
  2. #include <cstring>
  3. using namespace std;
  4. struct zapis {
  5. string preime;
  6. int god,transakcija;
  7. double stanje_racuna;
  8. };
  9. typedef zapis klijent;
  10. struct queue {
  11. klijent K[1000];
  12. int celo,zacelje;
  13. };
  14. typedef struct queue red;
  15. int AddOne(int n) {
  16. return ((n+1)%1000);
  17. };
  18. klijent FrontQ(red *R) {
  19. if(AddOne(R->zacelje)!=R->celo)
  20. return R->K[R->celo];
  21. else {
  22. cout << "Red je prazan!" << endl;
  23. exit(1);
  24. }
  25. };
  26. void EnQueueQ(klijent k,red *R) {
  27. if (AddOne(AddOne(R->zacelje))!=R->celo) {
  28. R->zacelje=AddOne(R->zacelje);
  29. R->K[R->zacelje]=k;
  30. }
  31. else {
  32. cout << "Red je pun!" << endl;
  33. return;
  34. }
  35. };
  36. void DeQueueQ(red *R) {
  37. if (AddOne(R->zacelje)!=R->celo)
  38. R->celo=AddOne(R->celo);
  39. else {
  40. cout << "Red je prazan!" << endl;
  41. return;
  42. }
  43. };
  44. red *InitQ(red *R) {
  45. R=new red;
  46. R->zacelje=9999;
  47. R->celo=0;
  48. return R;
  49. };
  50. bool IsEmptyQ(red *R) {
  51. if(AddOne(R->zacelje)==R->celo)
  52. return true;
  53. else
  54. return false;
  55. };

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.