Header

Thursday 5 September 2013

IGNOU BCA 3rd sem Solved Assignment - Implement multiple queues in a single dimensional array. Write algorithms for various queue operations for them.

Implement multiple queues in a single dimensional array. Write algorithms for various queue operations for them.
Ans
Program of implement queues in an array
/implement priority queue.
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define maxsize 10
void insert();
void delet();
void traverse();
int queue[maxsize];
int item,smallest,loc,i;
int front=0;
int rear=-1;
void main()
{

int choice;
char ch;
do
{

printf("\n 1. insert");
printf("\n 2.delete");
printf("\n 3. traverse");
printf("enter ur choice");
scanf("%d",&choice);
switch(choice)
{
case 1:
insert();
break;
case 2:
delet();
break;
case 3:
traverse();
break;
case 4: exit(1);
default:printf("\n entered wrong choice");
}
printf("\n do u wish to continue(y/n)");
fflush(stdin);
scanf("%c",&ch);
}
while(ch =='Y' || ch == 'y');
getch();
}

void insert()
{
if (rear==maxsize)
{
printf("\n overflow");

exit(0);
}
else
{
printf("enter the element");
scanf("%d",&item);
rear=rear + 1;
queue[rear]=item;
}
}
void delet()
{
if(front<0)
{
printf("underflow");
getch();
exit(0);
}
else
{
item=queue[front];
for(i=1;i<=rear;i++)
if(item>queue[i])
{
loc=i;
item=queue[i];
//front=front+1;
for(loc=i;loc<=rear;loc++)
queue[loc]=queue[loc+1];
front=front+1;
rear=rear-1;
printf("deleted item=%d",item);

}
}

}
void traverse()
{
int i;
for(i=front;i<=rear;i++)
{
printf("%d",queue[i]);
}
}

No comments:

Post a Comment