Advertisement
Guest User

Untitled

a guest
Oct 31st, 2014
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. #include <stdio.h>
  2. #include "pq.h"
  3.  
  4. QuePtr initQueue(){
  5. QuePtr queue = (QuePtr)malloc(sizeof(QueType));
  6. queue->head = NULL;
  7. return queue;
  8. }
  9.  
  10. int isEmpty(QuePtr queue){
  11. int i = 5;
  12. if (queue->head == NULL){
  13. i = 1;
  14. }
  15. if (queue->head != NULL){
  16. i = 0;
  17. }
  18. return i;
  19.  
  20. }
  21. void emptyqueue(QuePtr queue){
  22. NodePtr node = queue->head;
  23. while (node != NULL){
  24. node = node->next;
  25. queue->head = queue->head->next;
  26. }
  27. }
  28. void destroyqueue(QuePtr queue){
  29. NodePtr node = queue->head;
  30. NodePtr nodeAfter = queue->head;
  31.  
  32. while (nodeAfter){
  33. nodeAfter = node->next;
  34. free(node);
  35. node = nodeAfter;
  36. }
  37. }
  38. void enqueue(QuePtr queue, int data){
  39. NodePtr EnqueuedNode, Temp;
  40.  
  41. EnqueuedNode = (NodePtr)malloc(sizeof(Node));
  42.  
  43. EnqueuedNode->data = data;
  44.  
  45. EnqueuedNode->next = NULL;
  46. if (queue->head == NULL){
  47. queue->head = EnqueuedNode;
  48. }
  49. else
  50. {
  51. queue->tail->next = EnqueuedNode;
  52. //Temp = queue->tail;
  53. //Temp->next = EnqueuedNode;
  54. //EnqueuedNode = EnqueuedNode->next;
  55. //queue->tail = Temp;
  56. }
  57. queue->tail = EnqueuedNode;
  58. //queue->tail->next = EnqueuedNode;
  59. queue->size++;
  60. //queue->tail = EnqueuedNode;
  61. }
  62.  
  63. QueData getHighestPr(QuePtr queue){
  64. QueData front = queue->head->data;
  65.  
  66. return front;
  67.  
  68. }
  69.  
  70. void dequeue(QuePtr queue){
  71. NodePtr DequeuedNode;
  72.  
  73. DequeuedNode = (NodePtr)malloc(sizeof(Node));
  74.  
  75. DequeuedNode = queue->head;
  76.  
  77. queue->head = queue->head->next;
  78.  
  79. free(DequeuedNode);
  80. }
  81.  
  82.  
  83. QueData getSize(QuePtr queue){
  84. NodePtr Node;
  85. int size = 1;
  86.  
  87. Node = (NodePtr)malloc(sizeof(Node));
  88.  
  89. Node = queue->head;
  90. if (Node == NULL){
  91. size--;
  92. return size;
  93. }
  94. else while (Node->next != NULL){
  95. Node = Node->next;
  96. size++;
  97. }
  98. return size;
  99. }
  100.  
  101. void compare(QueueData a1, QueueData a2){
  102.  
  103.  
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement