DSA 2nd Assignment
DSA 2nd Assignment
Assignment No :2
OUTPUT:
Ans No. 2
1 #include<iostream>
2 #include<stdlib.h>
3 using namespace std;
4
5 struct node
6{
7 int data;
8 struct node *link;
9 };
10 struct node *front = 0;
11 struct node *rear = 0;
12
13 // Function to insert data into the queue
14 void enqueue(int x)
15 {
16 struct node *newnode;
17 newnode = new struct node;
18 newnode->data = x;
19 newnode->link = 0;
20
21 if (rear == 0) // If the queue is empty
22 {
23 front = rear = newnode;
24 }
25 else
26 {
27 rear->link = newnode;
28 rear = newnode;
29 }
30 }
31
32 // Function to display data of the queue
33 void display()
34 {
35 struct node *temp;
36 temp = front;
37 if (front == 0)
38 {
39 cout << "The Queue is Empty \n";
40 }
41 else
42 {
43 while (temp != 0)
44 {
45 cout << temp->data << endl;
46 temp = temp->link;
47 }
48 }
49 }
50
51
52
53 // Function to delete data from the queue
54 void dequeue()
55 {
56 struct node *temp;
57 temp = front;
58 if (front == 0)
59 {
60 cout << "The Queue is Empty \n";
61 }
62 else
63 {
64 front = front->link;
65 delete temp;
66 if (front == 0) // If the last element is removed, update
67 rear
68 {
69 rear = 0;
70 }
71 }
72 }
73
74 int main()
75 {
76 enqueue(2);
77 enqueue(100);
78 enqueue(6);
79 enqueue(15);
80 dequeue();
display();
return 0;
}
OUTPUT: