File tree Expand file tree Collapse file tree 1 file changed +96
-0
lines changed Expand file tree Collapse file tree 1 file changed +96
-0
lines changed Original file line number Diff line number Diff line change
1
+ #include <stdio.h>
2
+ #include <stdlib.h>
3
+ #define MAX 5
4
+ int queue [MAX ],rear = -1 ,front = -1 ;
5
+ void enqueue ()
6
+ {
7
+ int val ;
8
+ printf ("Enter value to be inserted: " );
9
+ scanf ("%d" ,& val );
10
+ if (front == 0 && rear == MAX - 1 )
11
+
12
+ {
13
+ printf ("\nQueue is Full" );
14
+ }
15
+
16
+ else if (front == -1 )
17
+ {
18
+ front = rear = 0 ;
19
+ queue [rear ] = val ;
20
+ }
21
+
22
+ else if (rear == MAX - 1 && front != 0 )
23
+ {
24
+ rear = 0 ;
25
+ queue [rear ] = val ;
26
+ }
27
+
28
+ else
29
+ {
30
+ rear ++ ;
31
+ queue [rear ] = val ;
32
+ }
33
+ }
34
+ void dequeue ()
35
+ {
36
+ if (front == -1 )
37
+ {
38
+ printf ("\nQueue is Empty" );
39
+ }
40
+
41
+ else if (front > MAX - 1 )
42
+ {
43
+ front = 0 ;
44
+ printf ("\nnumber deleted is %d\t" ,queue [front ]);
45
+ front ++ ;
46
+
47
+ }
48
+ else
49
+ {
50
+ printf ("\nnumber deleted is %d\t" ,queue [front ]);
51
+ front ++ ;
52
+ }
53
+ }
54
+ void display ()
55
+ {
56
+ int i ;
57
+ if (rear >=front )
58
+ {
59
+ for (i = front ;i <=rear ;i ++ )
60
+ {
61
+ printf ("%d\t" ,queue [i ]);
62
+ }
63
+ }
64
+ else
65
+ {
66
+ {
67
+ for (i = front ; i < MAX ; i ++ )
68
+ printf ("%d\t" , queue [i ]);
69
+
70
+ for (i = 0 ; i <= rear ; i ++ )
71
+ printf ("%d\t" , queue [i ]);
72
+ }
73
+ }
74
+ }
75
+
76
+ int main ()
77
+ {
78
+ int c ;
79
+ while (1 )
80
+ {
81
+ printf ("\nChoose operation to perform\t1.Insert\t2.Delete\t3.Display\t4.Exit:\n" );
82
+ scanf ("%d" ,& c );
83
+
84
+ switch (c )
85
+ {
86
+ case 1 : enqueue ();
87
+ break ;
88
+ case 2 : dequeue ();
89
+ break ;
90
+ case 3 : display ();
91
+ break ;
92
+ case 4 : exit (0 );
93
+ }
94
+
95
+ }
96
+ }
You can’t perform that action at this time.
0 commit comments