Guest User

Untitled

a guest
Oct 20th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.91 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3.  
  4. struct Node {
  5. Node *ptr;
  6. int data;
  7. };
  8.  
  9. class custom_queue {
  10. public:
  11. custom_queue() {
  12. head = NULL;
  13. tail = NULL;
  14. };
  15. ~custom_queue() {
  16. while (head != NULL)
  17. dequeue();
  18. };
  19. void enqueue(int a) {
  20. Node *temp = tail;
  21. Node *insert = new Node();
  22. insert->ptr = NULL;
  23. insert->data = a;
  24. if (tail != NULL)
  25. temp->ptr = insert;
  26. else
  27. head = insert;
  28. tail = insert;
  29. }
  30. void dequeue() {
  31. if (head != NULL) {
  32. Node *old = head;
  33. head = old->ptr;
  34. if (head == NULL)
  35. tail = NULL;
  36. delete old;
  37. }
  38. }
  39. void print() {
  40. Node *temp = head;
  41. while (temp != NULL) {
  42. std::cout << temp->data << " ";
  43. temp = temp->ptr;
  44. }
  45. std::cout << std::endl;
  46. }
  47. private:
  48. Node *head;
  49. Node *tail;
  50. };
  51.  
  52. void main() {
  53. custom_queue *q = new custom_queue;
  54. q->enqueue(0);
  55. q->enqueue(1);
  56. q->enqueue(2);
  57. q->enqueue(3);
  58. q->enqueue(4);
  59. q->dequeue();
  60. q->print();
  61. delete q;
  62. }
Add Comment
Please, Sign In to add comment