This Program is for HEAP in C, and is a part of Mumbai University MCA Colleges Data Structure MCA Sem 2
#include<stdio.h>
#include<stdio.h>
void insert(int num,int n);
void del(int num);
void dis();
int n,arr[100];
void main()
{
int choice,num;
n=0;
clrscr();
printf("\n=================
HEAP ========================\n");
while(1)
{
printf("\n\n---------------------- MAIN MENU
----------------\n\n");
printf("1.INSERT\n\n");
printf("2.DELETE\n\n");
printf("3.DISPLAY\n\n");
printf("4.EXIT\n\n");
printf("Enter Your Choice:");
scanf("%d",&choice);
switch(choice)
{
case 1:
printf("\n~~~~~~~~~~~~~
INSERTING ~~~~~~~~~~~~~~");
printf("\n\nEnter the number to be
inserted:");
scanf("%d",&num);
insert(num,n);
n=n+1;
break;
case 2:
printf("\n~~~~~~~~~~~~~
DELETING ~~~~~~~~~~~~~~");
printf("\n\nEnter the number to be
deleted:");
scanf("%d",&num);
del(num);
break;
case 3:
printf("\n~~~~~~~~~~~~~
DISPLAYING ~~~~~~~~~~~~~~\n");
dis();
break;
case 4:
exit();
default:
printf("\nINVALID ENTRY !!! TRY
AGAIN\n");
}
}
}
void dis()
{
int i;
if(n==0)
{
printf("\n\n------------------------------\n\n");
printf("HEAP IS EMPTY");
printf("\n\n------------------------------\n\n");
return;
}
printf("\n");
for(i=0;i<n;i++)
printf("%d\t",arr[i]);
printf("\n");
}
void insert (int num,int loc)
{
int par;
while(loc>0)
{
par=(loc-1)/2;
if(num<=arr[par])
{
arr[loc]=num;
return;
}
arr[loc]=arr[par];
loc=par;
}
arr[0]=num;
}
void del(int num)
{
int left,right,i,temp,par;
for(i=0;i<n;i++)
{
if(num==arr[i])
break;
}
if(num!=arr[i])
{
printf("\n\n------------------------------\n\n");
printf("ELEMENT %d NOT FOUND IN HEAP");
printf("\n\n------------------------------\n\n");
return;
}
arr[i]=arr[n-1];
n=n-1;
par=(i-1)/2;
if(arr[i]>arr[par])
{
insert(arr[i],i);
return;
}
left=2*i+1;
right=2*i+2;
while(right<n)
{
if(arr[i]>=arr[left] &&
arr[i]>=arr[right])
return;
if(arr[right]<=arr[left])
{
temp=arr[i];
arr[i]=arr[left];
arr[left]=temp;
i=left;
}
else
{
temp=arr[i];
arr[i]=arr[right];
arr[right]=temp;
i=right;
}
left=2*i+1;
right=2*i+2;
}
if(left==n-1
&& arr[i]<arr[left])
{
temp=arr[i];
arr[i]=arr[left];
arr[left]=temp;
}
}
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.
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.
No comments:
Post a Comment