
據說是目前銷售量最好的一張單曲CD
================================
import java.io.*;
public class heap {
public static void main(String[] alio)
throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("總需幾筆資料?");
int n = Integer.parseInt(br.readLine());
int[] a = Binarytree(n);
work w = new work(a);
w.build();
w.sort();
w.show();
}
static int[] Binarytree(int n) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int[] b = new int[n+1];
for(int i=1;i<b.length;i++){
System.out.print("第"+i+"筆資料為:");
b[i] = Integer.parseInt(br.readLine());
}
return b;
}
}
class work{
int[] data;
work(int[] d){
data = d;
}
void build(){
int n = data.length-1;
for(int i=n/2;i>0;i--)
treat(i,n);
}
int treat(int p,int l){
if(2*p>l) return -1;
int m;
if(2*p==l)
m = l;
else
m = data[2*p]>data[2*p+1]? 2*p:2*p+1;
if(data[p]>data[m])
return -1;
else{
int temp = data[p];
data[p] = data[m];
data[m] = temp;
treat(m,l);
}
return 0;
}
void sort(){
int n = data.length-1;
for(int i=n;i>1;i--){
int temp = data[1];
data[1] = data[i];
data[i] = temp;
treat(1,i-1);
}
}
void show(){
for(int i=1;i<data.length;i++)
System.out.print(data[i]+" ");
}
}
================================
預購還有附特典:MTV拍攝實況喔