Advertisement
hadiuzzaman65

queue using template

Apr 15th, 2019
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.19 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4. template <typename t>
  5. class node
  6. { public:
  7.     t data;
  8.     node<t> *next;
  9.  
  10.     node(t s)
  11.     {
  12.         data=s;
  13.         next=NULL;
  14.     }
  15. };
  16. template <typename d>
  17. class queue
  18. {  public:
  19.     node<d> *f,*r;
  20.  
  21.     queue()
  22.     {
  23.         f=r=NULL;
  24.     }
  25.     void enqueue(d x);
  26.     void dequeue();
  27.     void display();
  28.  
  29.  
  30. };
  31. template <typename d>
  32. void queue<d>::enqueue(d x)
  33. {
  34.     node<d> *temp;
  35.     temp=new node<d>(x);
  36.     if(temp==NULL)
  37.     {
  38.         cout<< "queue is full"<<endl;
  39.     }
  40.     else
  41.     {
  42.  
  43.         if(f==NULL)
  44.         f=r=temp;
  45.         else
  46.         {
  47.             f->next=temp;
  48.             f=temp;
  49.         }
  50.  
  51.     }
  52. }
  53. template <typename d>
  54. void queue<d>::display()
  55. {
  56.     node<d> *t;
  57.     t=r;
  58.     while(t!=NULL)
  59.     {
  60.         cout<<t->data<<" ";
  61.         t=t->next;
  62.     }
  63.     cout<<endl;
  64. }
  65. template <typename d>
  66. void queue<d>::dequeue()
  67. {
  68.     node<d> *t;
  69.     t=r;
  70.     r=t->next;
  71.    delete t;
  72. }
  73. int main()
  74. {
  75.    queue<int> q;
  76.    q.enqueue(9);
  77.    q.enqueue(29);
  78.    q.enqueue(44);
  79.    q.enqueue(22);
  80.    q.display();
  81.    q.dequeue();
  82.    q.display();
  83.    q.dequeue();
  84.    q.display();
  85.     return 0;
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement