您的位置:首页 > 其它

学习算法导论-插入查询

2009-09-17 17:34 274 查看
 第一个算法:插入查询。第一段代码是我自己想着写下的,写完后差的吐了,超烂的算法。我这几年都在干什么啊。

 
private int sortdown(int[] A) {
int n = A.length;
for (int i = 1; i < n; i++) { //从第二个开始遍历
for (int j = 0; j <i; j++) {//从第一个开始,直至到他的前一个为止
if(A[i]<A[j]){ //如果这个数小于遍历到的数
int temp = A[i]; //将这个数赋值给一个额外的数
for (int k = i; k >j; k--) { //从后到前,依次将数值后移一位.
A[k] = A[k-1];
}
A[j] = temp; //将额外的值赋值给A[j],就是遍历到的值
break;//跳出,否则浪费时间了.
}
}
}
return n;
}


没招了,看看书,写下如下的插入查询算法代码:

private int sortup(int[] A){
int n = A.length;
for (int i = 1; i < n; i++) { //从第二个开始遍历
int temp = A[i];
int j = i-1;
for (; j>=0&&A[j]>temp; j--) {
A[j+1] = A[j];
}
A[j+1] = temp;
}
return n;
}


看来我的道路是相当漫长啊。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: