Advertisement
Guest User

Untitled

a guest
Mar 28th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. #include "queue.h"
  2.  
  3. int isEmpty(Tqueue *queue){
  4. return queue->size == 0;
  5. }
  6.  
  7. int size(Tqueue *queue){
  8. return queue->size;
  9. }
  10.  
  11. void enqueue(Tqueue *queue, NTree *data){
  12. if (!queue->front){//If the queue is empty
  13. Tnode *newNode = malloc(sizeof(Tnode));//Make a new Node
  14. newNode->data = data;//Populate it with the correct data
  15. queue->front = newNode;//Make it front of the queue
  16. queue->back = newNode;//Make it back of the queue
  17. queue->size ++;//queue gets larger
  18. return;
  19. }
  20. Tnode *newNode = malloc(sizeof(Tnode));//Make a new Node
  21. newNode->data = data;//Populate it with the correct data
  22. queue->back->next = newNode;//Add it to the queue
  23. queue->size ++;//queue gets larger
  24. }
  25.  
  26. NTree* dequeue(Tqueue *queue){
  27. if (!queue->front){
  28. return NULL;
  29. }
  30. if (!queue->front->next){
  31. NTree *toReturn1 = queue->front->data;
  32. free(queue->front);
  33. queue->front = NULL;
  34. queue->back = NULL;
  35. queue->size = 0;
  36. return toReturn1;
  37. }
  38. NTree *toReturn = queue->front->data;
  39. Tnode *temp = queue->front;
  40. queue->front = queue->front->next;
  41. free(temp);
  42. queue->size --;
  43. return toReturn;
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement