Posted By

dsitum1 on 12/03/11


Tagged

red pokazivac implementacija


Versions (?)

red_pokazivac.h


 / Published in: C++
 

Implementacija reda uz pomoć pokazivača

  1. struct tpacijent
  2. {
  3. int x,y,prioritet;
  4. tpacijent *sljedeci;
  5. };
  6.  
  7. struct tred
  8. {
  9. tpacijent pacijent;
  10. tred *sljedeci;
  11. };
  12.  
  13. struct tpok
  14. {
  15. tred *front, *rear;
  16. } pok;
  17.  
  18.  
  19. tpacijent frontQ(tred *Q)
  20. {
  21. tred *first = Q->sljedeci;
  22. return first->pacijent;
  23. }
  24.  
  25. void enqueueQ(tpacijent pacijent, tred *Q)
  26. {
  27. tred *novi = new tred;
  28. novi->pacijent = pacijent;
  29. novi->sljedeci=pok.front;
  30.  
  31. tred *rear = pok.rear;
  32. rear->sljedeci = novi;
  33. pok.rear = novi;
  34. }
  35.  
  36. void dequeueQ(tred *Q)
  37. {
  38. tred *brisi = Q->sljedeci;
  39. if (brisi == pok.rear) pok.rear = Q; //ako smo obrisali zadnji element potrebno promijeniti i pok.rear
  40. Q->sljedeci = brisi->sljedeci;
  41. delete brisi;
  42. }
  43.  
  44. bool isemptyQ(tred *Q)
  45. {
  46. if (pok.front == pok.rear) return true;
  47. else return false;
  48. }
  49.  
  50. tred *initQ(tred *Q)
  51. {
  52. Q = new tred;
  53. Q->sljedeci=Q;
  54. pok.front=Q;
  55. pok.rear=Q;
  56. return Q;
  57. }

Report this snippet  

You need to login to post a comment.