Heap sort Program

#include
int n,a[10],k;
void heapsort(int a[],int n);
void swap(int b,int c);
void pushdown(int x,int y);
main()
{
system("clear");
printf("Enter the number of elements : ");
scanf("%d",&n);
printf("\nEnter the elements one by one...\n");
for(k=0;kscanf("%d",&a[k]);
for(k=0;kheapsort(a,n);
printf("\nElements after the Heap sort...\n");
for(k=0;kprintf("%d\n",a[k]);
}
void heapsort(int a[],int n)
{
int i;
for(i=n/2;i>=1;i--)
pushdown(i,n);
for(i=n;i>=2;i--)
{
swap(1,i);
pushdown(1,i-1);
}
}
void pushdown(int first,int last)
{
int r;
r=first;
while(r<=last/2)
{
if(last==2*r)
{
if (a[r]>a[2*r])
swap(r,2*r);
r=last;
}
else
{
if (a[r]>a[2*r]&&a[2*r]<=a[2*r+1])
{
swap(r,2*r);
r=2*r;
}
else if(a[r]>a[2*r+1]&&a[2*r+1]{
swap(r,2*r+1);
r=2*r+1;
}
else
r=last;
}
}
}
void swap(int m,int x)
{
int t;
t=a[m];
a[m]=a[x];
a[x]=t;
}

1 comment:

Anonymous said...

online casino online. kadangpintar
online 인카지노 casino online. งานออนไลน์ kadangpintar.com. kadangpintar.com. kadangpintar.com. 온카지노