您的位置:首页 > 其它

Vim 键盘映射

2015-09-08 22:39 239 查看
public class HeapSort {
private static int leftChild(int i){
return 2 * i + 1;
}

private static void percDown(Comparable[] data, int i, int n){
int child;
Comparable tmp;

for(tmp = data[i]; leftChild(i) < n; i = child){
child = leftChild(i);
if(child != n - 1 && data[child].compareTo(data[child + 1]) < 0)
child ++;
if(tmp.compareTo(data[child]) < 0)
data[i] = data[child];
else
break;
}
data[i] = tmp;
}

private static void swapReferences(Comparable[] a, int src, int des){
Comparable tmp = a[des];
a[des] = a[src];
a[src] = tmp;
}

public static void heapsort(Comparable[] a){

for(int i = a.length / 2; i >= 0; i --)
percDown(a, i, a.length);
for(int i = a.length - 1; i > 0; i--){
swapReferences(a, 0, i);
percDown(a, 0, i);
}

}

public static void main(String[] args){
Comparable[] a = new Comparable[20];
for(int i = 0; i < a.length; i++){
a[i] = (int)(Math.random() * 100);
}

System.out.println("the Before!");
for(int i = 0; i < a.length; i++)
System.out.print(a[i] +",");

System.out.println("");
heapsort(a);
for(int i = 0; i< a.length; i ++)
System.out.print(a[i]+ ",");
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: