package wuxue;
public class heapsort implements shuzu {
private int sorts[];
private int n;
public heapsort() {
// TODO Auto-generated constructor stub
n=shuzu.length;
sorts=new int[n];
for(int i=0;i<n ;i++)
{
sorts[i]=shuzu[i];
}
sort(sorts,n-1);
prints();
}
private void inisort(int sorts[],int start,int n)
{
int temp=0;
for(int i=n/2+n%2-1;i>=start;i--)
{
if(sorts[i]<sorts[2*i+1]||2*i+1<n&&sorts[i]<sorts[2*i+2])
if(2*i+1<n&&sorts[2*i+1]<sorts[2*i+2])
{
temp=sorts[i];
sorts[i]=sorts[2*i+2];
sorts[2*i+2]=temp;
}
else{
temp=sorts[i];
sorts[i]=sorts[2*i+1];
sorts[2*i+1]=temp;
}
}
}
private void sort(int sorts[],int n )
{
int temp=0;
for(;n>0;n--)
{ inisort(sorts,0,n);
temp=sorts[n];
sorts[n]=sorts[0];
sorts[0]=temp;
}
}
private void prints()
{ System.out.print("堆排序:");
for(int i=0;i<n;i++)
System.out.print(sorts[i]+" ");
System.out.println();
}
}
堆排序
最新推荐文章于 2024-09-04 23:05:17 发布