File tree Expand file tree Collapse file tree 1 file changed +71
-0
lines changed Expand file tree Collapse file tree 1 file changed +71
-0
lines changed Original file line number Diff line number Diff line change
1
+ #include < iostream>
2
+ using namespace std ;
3
+
4
+ struct node {
5
+ int data;
6
+ struct node *next;
7
+ };
8
+ class Queue {
9
+ node *front;
10
+ node *rear;
11
+ public:
12
+ Queue (){
13
+ front = NULL ;
14
+ rear = NULL ;
15
+ }
16
+ void createNode (int val){
17
+ node *ptr;
18
+ node *nn;
19
+ nn = new node;
20
+ ptr = front;
21
+ nn->data = val;
22
+ nn->next = NULL ;
23
+ front=nn;
24
+ rear=nn;
25
+ }
26
+ void enqueue (int val){
27
+ if (front==NULL || rear==NULL ){
28
+ createNode (val);
29
+ }
30
+ else {
31
+ node *ptr;
32
+ node *nn;
33
+ ptr=front;
34
+ nn = new node;
35
+ nn->data = val;
36
+ rear->next = nn;
37
+ nn->next = front;
38
+ rear = nn;
39
+ }
40
+ }
41
+ void dequeue (){
42
+ node *n;
43
+ n = front;
44
+ front = front->next ;
45
+ delete (n);
46
+ }
47
+ void traverse (){
48
+ node *ptr;
49
+ ptr=front;
50
+ do {
51
+ cout<<ptr->data <<" " ;
52
+ ptr=ptr->next ;
53
+ }while (ptr!=rear->next );
54
+ cout<<front->data ;
55
+ cout<<endl;
56
+ }
57
+ };
58
+ int main (void ){
59
+ Queue q;
60
+ q.enqueue (10 );
61
+ q.enqueue (20 );
62
+ q.enqueue (30 );
63
+ q.enqueue (40 );
64
+ q.enqueue (50 );
65
+ q.enqueue (60 );
66
+ q.enqueue (70 );
67
+ q.traverse ();
68
+ q.dequeue ();
69
+ q.traverse ();
70
+ return 0 ;
71
+ }
You can’t perform that action at this time.
0 commit comments