-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathqueue2.c
More file actions
133 lines (115 loc) · 2.29 KB
/
Copy pathqueue2.c
File metadata and controls
133 lines (115 loc) · 2.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
//Name:- Aditya Biswal
//Class:- 3 MCA B
//Register number:- 2147207
//Program:- To remove multiples of 10 in a queue.
//including the header files:-
#include<stdio.h>
#include<stdlib.h>
#define MAX 20
struct node
{
int data;
struct node *next;
};
struct node *front = NULL;
struct node *rear;
//function declaration
void enqueue();
void dequeue();
void display();
//making the main function for the program:==>
int main()
{
int ch;
while(ch!=4)
{
printf("\nProgram to remove the multiples of 10 from the queue");
printf("\n\tProgram Menu");
printf('\n1.Add elements');
printf("\n2.Remove element");
printf("\n3.Display the queue");
printf("\n4.Exit");
printf("\nEnter your preffered choice: ");
scanf("%d",&ch);
switch (ch)
{
case 1:
enqueue();
break;
case 2:
dequeue();
break;
case 3:
display();
break;
case 4:
exit(0);
break;
default:
printf("\nInvalid Entry request, Please check your response again");
break;
}
}
}
//defining the function for enqueue:-->
void enqueue()
{
struct node *ptr;
int item;
ptr = (struct node*)malloc(sizeof(struct node));
if(ptr==NULL)
{
printf("\nOverflow");
return;
}
else
{
printf("\nEnter value:\t ");
scanf("%d",&item);
ptr ->data = item;
if (front==NULL)
{
front = ptr;
rear = ptr;
front->next = NULL;
rear->next = NULL;
}
else{
rear->next = ptr;
rear = ptr;
rear->next = NULL;
}
}
}
void dequeue()
{
struct node *ptr;
if(front==NULL)
{
printf("\nUnderflow");
return;
}
else
{
ptr = front;
front = front->next;
free(ptr);
}
}
void display()
{
struct node *ptr=NULL;
ptr = front;
if(front==NULL)
{
printf("\nEmpty queue\n");
}
else{
printf("\nPrinting the values......\n");
while(ptr!=NULL)
{
printf("\n%d\n",ptr->data);
ptr = ptr->next;
}
}
}