Heap Sort Program:
class Heap_Sort
{
public static void main(String args[])
{
int ar[]={10,8,12,16,9,7,5,15,14,3};
int size=ar.length;
heapSort(ar,size);
for(int x=0;x<=ar.length-1;x++)
{
System.out.print(ar[x] + " ");
}
}
public static void maxHeapify(int ar[],int i,int size)
{
int l=2*i;
int r=2*i+1;
int largest;
if(l<size && ar[l]>ar[i])
{
largest=l;
}
else
{
largest=i;
}
if(r<size && ar[r]>ar[largest])
{
largest=r;
}
if(largest!=i)
{
int t=ar[i];
ar[i]=ar[largest];
ar[largest]=t;
maxHeapify(ar,largest,size);
}
}
public static void maxHeap(int ar[],int size)
{
int n=ar.length;
for(int i=size/2;i>=0;i--)
{
maxHeapify(ar,i,size);
}
}
public static void heapSort(int ar[],int size)
{
maxHeap(ar,size);
int n=ar.length;
for(int x=size-1;x>=1;x--)
{
int t=ar[0];
ar[0]=ar[x];
ar[x]=t;
size=size-1;
maxHeapify(ar,0,size);
}
}
}
0 Comments
Please don't enter any spam link in comment box.
Emoji