Problem statement
Write a c program to implement queue using array
your program should have these functions
#define MAX 20
typedef struct que{
int data[MAX];
int st;
int end;
int total; // total number of elements in the queue
}que,ptr;
que init(que a);
que delete(que a);
que add(que a);
void print(que a);
int main()
{
int i,n;
que a;
a=init(a);
for(i=0;i<50;i++)
{
printf("enter 1 to add, 2 to remove, 3 to print,4 to exit ");
scanf("%d",&n);
if(n==1)
{
a=add(a);
}
else if(n==2)
{
a=delete(a);
}
else if(n==3)
{
print(a);
}
else if(n==4)
{
break ;
}
else
{
printf("unable to recognise \n");
}
}
return 0;
}
que init(que a)
{
a.st=a.end=a.total=0;
return a;
}
que delete(que a)
{
if(a.total==0)
{
printf("no member exist empty queue \n");
}
else
{
a.st++;
a.total--;
if(a.st==MAX)
{
a.st=0;
}
}
return a;
}
que add(que a)
{
int temp;
if(a.total<MAX)
{
printf("enter element to add ");
scanf("%d",&temp);
a.data[a.end]=temp;
a.end++;
a.total++;
if(a.end==MAX)
{
a.end=0;
}
}
else
{
printf("memory overflow \n");
}
return a;
}
void print(que a)
{
if(a.total==0)
{
printf("empty queue \n");
}
else
{
printf("the elements in the queue are ");
while(a.st!=a.end)
{
if(a.st==MAX)
{
a.st=0;
}
printf("%d ",a.data[a.st]);
a.st++;
}
printf("\n");
}
return ;
}
Write a c program to implement queue using array
your program should have these functions
- adding an element to queue
- deleting element from queue
- printing queue
#define MAX 20
typedef struct que{
int data[MAX];
int st;
int end;
int total; // total number of elements in the queue
}que,ptr;
que init(que a);
que delete(que a);
que add(que a);
void print(que a);
int main()
{
int i,n;
que a;
a=init(a);
for(i=0;i<50;i++)
{
printf("enter 1 to add, 2 to remove, 3 to print,4 to exit ");
scanf("%d",&n);
if(n==1)
{
a=add(a);
}
else if(n==2)
{
a=delete(a);
}
else if(n==3)
{
print(a);
}
else if(n==4)
{
break ;
}
else
{
printf("unable to recognise \n");
}
}
return 0;
}
que init(que a)
{
a.st=a.end=a.total=0;
return a;
}
que delete(que a)
{
if(a.total==0)
{
printf("no member exist empty queue \n");
}
else
{
a.st++;
a.total--;
if(a.st==MAX)
{
a.st=0;
}
}
return a;
}
que add(que a)
{
int temp;
if(a.total<MAX)
{
printf("enter element to add ");
scanf("%d",&temp);
a.data[a.end]=temp;
a.end++;
a.total++;
if(a.end==MAX)
{
a.end=0;
}
}
else
{
printf("memory overflow \n");
}
return a;
}
void print(que a)
{
if(a.total==0)
{
printf("empty queue \n");
}
else
{
printf("the elements in the queue are ");
while(a.st!=a.end)
{
if(a.st==MAX)
{
a.st=0;
}
printf("%d ",a.data[a.st]);
a.st++;
}
printf("\n");
}
return ;
}
No comments:
Post a Comment