Guest User

Untitled

a guest
Jul 19th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.05 KB | None | 0 0
  1. /* Biblioteka sa implemntacijom ATP - red pomocu pokazivaca. */
  2.  
  3. struct tclient{
  4. /* Osnovna struktura koja sadrzi podatke o pojedinom klijentu. */
  5. tClient label;
  6. tclient *next;
  7. };
  8.  
  9. struct tQueue{
  10. /* Struktura koja sadrzi pokazivace na prvi i zadnji element u redu. */
  11. tclient *front, *rear;
  12. };
  13.  
  14. typedef struct tclient *client;
  15. typedef struct tQueue *queue;
  16.  
  17. client FrontQ(queue Q){
  18. /* Vraca element sa pocetka reda. */
  19. if(Q->front == Q->rear)
  20. return NULL;
  21. return Q->front->next;
  22. }
  23.  
  24. client EnQueueQ(client El, queue Q){
  25. /* Umece novi element na kraj reda. */
  26. tclient *New = new tclient;
  27. memcpy(New, El, sizeof(tclient));
  28. Q->rear->next = New;
  29. Q->rear = New;
  30. }
  31.  
  32. void DeQueueQ(queue Q){
  33. /* Uklanja element sa pocetka reda. */
  34. if(Q->front == Q->rear) return;
  35. tclient *temp;
  36. temp = Q->front;
  37. Q->front = Q->front->next;
  38. delete temp;
  39. }
  40.  
  41. queue InitQ(){
  42. /* Inicijalizira prazan red. */
  43. tclient *head = new tclient;
  44. tQueue *Q = new tQueue;
  45. Q->front = head; Q->rear = head;
  46. return Q;
  47. }
  48.  
  49. bool IsEmptyQ(queue Q){
  50. return Q->front == Q->rear;
  51. }
Add Comment
Please, Sign In to add comment