-
Notifications
You must be signed in to change notification settings - Fork 0
/
dynamicQ.c
92 lines (89 loc) · 1.43 KB
/
dynamicQ.c
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
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
struct queue {
int no;
struct queue *next;
};
struct queue *f=0;
struct queue *r=0;
void insert();
int delete();
void display();
void main()
{
int n, ch;
char choice;
// clrscr();
printf("\n Name: Vighnesh ");
do
{
printf("\n\nQueue Menu\n1. insert \n2. delete\n3. Display");
printf("\nEnter Choice 1-3? : ");
scanf("%d", &ch);
switch (ch)
{
case 1:
insert();
break;
case 2:
printf("deleted element is %d",delete());
break;
case 3:
display();
break;
}
printf("\n Do you want to continue? y/n : ");
scanf("%s",&choice);
}while(choice=='y' || choice=='Y');
exit(0);
}
void insert(){
struct queue *node;
node=(struct queue*)malloc(sizeof(struct queue));
printf("Enter num ");
scanf("%d",&node->no);
node->next=NULL;
if (f==0 && r==0)
{
f=node;
r=node;
}
else{
r->next=node;
r=r->next;
}
}
void display(){
struct queue *temp;
temp=f;
if(f==0 && r==0)
{
printf("queue is empty");
}
else{
while(temp!=0)
{
printf("%d \t",temp->no);
temp=temp->next;
}
}
}
int delete(){
struct queue *temp;
temp=f;
int item;
if(f==0 && r==0)
{
printf("queue is empty");
getch();
exit(0);
}
else
{
item=temp->no;
f=f->next;
}
free(temp);
return(item);
}