public static void main(String []args){ heap s=new heap(); Scanner sc=new Scanner(System.in); int arr[]=new int[9]; for(int i=0;i<9;i++){ arr[i]=sc.nextInt(); } s.heap_sift(arr); }
public void heap_sort(int arr[]){
heap s=new heap();
int n=arr.length;
for(int i=(n-2)/2;i>-1;i--){//不得不说这个根节点位置为(n-2)/2真的太妙了
s.heap_sift(arr,i,n-1);
}
for(int j=0;j<n;j++){
System.out.print(arr[j]+" ");
}
}
public static void main(String []args){
heap s=new heap();
Scanner sc=new Scanner(System.in);
int arr[]=new int[9];
for(int i=0;i<9;i++){
arr[i]=sc.nextInt();
}
s.heap_sift(arr);//这里调用上面的方法传入一个arr数组老是报错
}
具体报什么错 我这里测试了 没有报错
heap_sift()这个方法贴出来
int arr[]=new int[9];改成int arr[9];