Advertisement
Guest User

Untitled

a guest
Dec 12th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.69 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4.  
  5. //step 1: always create node
  6. struct queuenode {
  7. string StudentID;
  8. queuenode * next;
  9. queuenode * back;
  10. } *front, *rear,*temp;
  11.  
  12. //step 2: always declare the function header
  13. void enqueue(string sID);
  14. void dequeue();
  15. void display_from_front();
  16. void display_from_rear();
  17.  
  18. //step 3: add the operations into the main()
  19. int main() {
  20. front = rear = NULL;
  21.  
  22. enqueue("TP01");
  23. enqueue("TP02");
  24. enqueue("TP03");
  25. dequeue();
  26. enqueue("TP04");
  27. enqueue("TP05");
  28. dequeue();
  29. enqueue("TP02");
  30.  
  31. cout << "From front to rear : \n"; display_from_front();
  32. cout << "From rear to front : \n"; display_from_rear();
  33.  
  34. cout << endl;
  35. }
  36.  
  37. //step 4: create the enqueue algorithm in the function
  38. void enqueue(string sID) {
  39. queuenode *n = new queuenode;
  40. n->StudentID = sID;
  41. n->next = NULL;
  42. n->back = NULL;
  43.  
  44. if (front == NULL)
  45. {
  46. front = rear = n;
  47. }
  48.  
  49. else {
  50. temp = rear;
  51. temp->next = n;
  52. n->back = temp;
  53. rear = n;
  54. }
  55. }
  56.  
  57. //step 5: create the dequeue algorithm in the function
  58.  
  59. void dequeue() {
  60. if (front == NULL)
  61. {
  62. return;
  63. }
  64. temp = front->next;
  65. if (temp == NULL) {
  66. front = rear = NULL;
  67. }
  68. front = temp;
  69. front->back = NULL;
  70. }
  71.  
  72.  
  73.  
  74. //step 6: add the display from front algorithm in the function
  75. void display_from_front() {
  76. temp = front;
  77. while (temp != NULL) {
  78. cout << "student id: " << temp->StudentID << endl;
  79. temp = temp->next;
  80. }
  81.  
  82. }
  83.  
  84. //step 7: add the display from rear algorithm in the function
  85. void display_from_rear() {
  86. temp = rear;
  87. while (temp != NULL) {
  88. cout << "student id: " << temp->StudentID << endl;
  89. temp = temp->back;
  90. }
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement