Friday, August 28, 2009

Heap Sort



#include<stdio.h>



#include<conio.h>



main()



{



char
ans;



do



{




int
l,i,r,n,x,a[20],s;



clrscr();



printf("\n\n\t\t\tHEAPSORT");



printf("\n\t\t\t********");



printf("\n\nENTER THE TOTAL NO.OF ELEMENT:->");



scanf("%d",&n);








printf("\n\nENTER THE ELEMENT:->");




for
(i=1;i<=n;i++)



scanf("\n%d",&a[i]);









l = n / 2 + 1;




r = n;




while
(l>1)



{



l--;



sift(a,l,r);



}




while
(r>1)



{




x = a[1];



a[1] =
a[r];



a[r] =
x;



r--;




sift(a,l,r);



}



printf("\n\nHEAP SORT ELEMENTS ARE :->");



printf("\n");




for
(s=1;s<=n;s++)



printf("\n\t\t%d",a[s]);



printf("\n\nDO U CONTINUE (Y/N) :->");



scanf("%s",&ans);



}



while(ans
== 'y' || ans == 'y');








}



sift(int a[20],int left,int right)



{



int
k,j,x;




k = left;




j = 2*k;




x = a[k];



while(j
<= right)



{




if
((j < right) && (a[j] < a[j+1]))




j++;




if
(x > a[j])




goto g;



a[k] =
a[j];




k = j;




j = 2 * k;



}



g:



a[k] =
x;



}





1 comment:

  1. Download all Source Code in following url : http://sites.google.com/site/senthilmcan/software-programs

    ReplyDelete