This Program is for Queue using Array and Linked List. This is a part of Mumbai University MCA Colleges Data Structure C program MCA Sem 2
del ();
Hope this Program is useful to you in some sense or other. Keep on following this blog for more Mumbai University MCA College Programs. Happy Programming and Studying.
# include<stdio.h>
# include<conio.h>
# define MAX 5
void Qlink();
void del ();
void display();
void insert();
void Qarray();
void insert1();
void del1();
void disp();
int queue_arr[MAX];
int rear1 = -1;
int front1 = -1;
struct node
{
int info;
struct node *link;
}*front=NULL,*rear=NULL;
main()
{
int n;
clrscr();
printf("--------------------------- MENU FOR QUEUE -------------------------------------\n\n");
while(1)
{
printf("1.Queue using Array.\n\n2.Queue using Linked list.\n\n");
printf("3.Quit.\n\n");
printf("Enter your choice : ");
scanf("%d",&n);
switch(n)
{
case 1:
Qarray();
break;
case 2:
Qlink();
break;
case 3:
exit(1);
default:
printf("INVALID CHOICE TRY AGAIN!!!!!");
}
}
}
void Qlink()
{
int choice;
printf("\n\n--------------------------- QUEUE USING LINKED LIST------------\n\n");
while(1)
{
printf("\n--------------------- MAIN MENU -----------------------\n");
printf("\n1.Insert\n\n");
printf("2.Delete\n\n");
printf("3.Display\n\n");
printf("4.Quit\n\n");
printf("Enter your choice : ");
scanf("%d", &choice);
switch(choice)
{
case 1:
insert();
break;
case 2:
break;
case 3:
display();
break;
case 4:
exit(1);
default :
printf("INVALID CHOICE TRY AGAIN!!!!!!!!!1\n");
}
}
}
void insert()
{
struct node *tmp;
int added_item;
tmp = (struct node *)malloc(sizeof(struct node));
printf("\n\nInput the element for adding in queue : ");
scanf("%d",&added_item);
tmp->info = added_item;
tmp->link=NULL;
if(front==NULL)
front=tmp;
else
rear->link=tmp;
rear=tmp;
}
void del ()
{
struct node *tmp;
if(front == NULL)
{
printf("\n\n----------------------------------------------------------\n\n");
printf("Queue Underflow........don't delete any more\n");
printf("\n\n----------------------------------------------------------\n\n");
}
else
{
tmp=front;
printf("\n\n----------------------------------------------------------\n\n");
printf("Deleted element is %d\n",tmp->info);
printf("\n\n----------------------------------------------------------\n\n");
front=front->link;
free(tmp);
}
}
void display()
{
struct node *ptr;
ptr = front;
if(front == NULL)
{
printf("\n\n----------------------------------------------------------\n\n");
printf("Queue is empty\n");
printf("\n\n----------------------------------------------------------\n\n");
}
else
{
printf("\n\n--------------------- QUEUE ELEMENTS -----------------------\n\n");
while(ptr != NULL)
{
printf("%d ",ptr->info);
ptr = ptr->link;
}
printf("\n");
}
}
void Qarray()
{
int choice;
printf("\n--------------------------- QUEUE USING ARRAY -------------\n\n");
while(1)
{
printf("\n--------------------- MAIN MENU -----------------------\n");
printf("\n1.Insert\n\n");
printf("2.Delete\n\n");
printf("3.Display\n\n");
printf("4.Quit\n\n");
printf("Enter your choice : ");
scanf("%d",&choice);
switch(choice)
{
case 1 :
insert1();
break;
case 2 :
del1();
break;
case 3:
disp();
break;
case 4:
exit(1);
default:
printf("INVALID CHOICE TRY AGAIN!!!!!!!\n\n");
}
}
}
void insert1()
{
int added_item;
if (rear1==MAX-1)
{
printf("\n\n----------------------------------------------------------\n\n");
printf("Queue Overflow.........don't insert any more\n");
printf("\n\n-------------------------------------------------------------\n\n");
}
else
{
if (front1==-1)
front1=0;
printf("\nInput the element for adding in queue : ");
scanf("%d", &added_item);
rear1=rear1+1;
queue_arr[rear1] = added_item ;
}
}
void del1()
{
if (front1 == -1 || front1 > rear1)
{
printf("\n\n---------------------------------------------------------------\n\n");
printf("Queue Underflow.........don't delete any more\n");
printf("\n\n--------------------------------------------------------------\n\n");
front1=-1;
return ;
}
else
{
printf("\n\n----------------------------------------------------------------\n\n");
printf("Element %d is deleted from Queue \n", queue_arr[front1]);
printf("\n\n---------------------------------------------------------------\n\n");
front1=front1+1;
}
}
void disp()
{
int i;
if (front1 == -1)
{
printf("\n\n----------------------------------------------------------------\n\n");
printf("Queue is empty\n");
printf("\n\n----------------------------------------------------------------\n\n");
}
else
{
printf("\n---------------------------------- Queue elements ---------------------\n\n");
for(i=front1;i<= rear1;i++)
printf("%d ",queue_arr[i]);
printf("\n");
}
}Hope this Program is useful to you in some sense or other. Keep on following this blog for more Mumbai University MCA College Programs. Happy Programming and Studying.
Download
No comments:
Post a Comment