Har*_*ara 1 java sorting insertion-sort
我写了一个简单的插入排序程序,但输出不正确.
class InsertionSort{
public static void main(String h[]){
int[] a = {5,4,3,2,1};
int i,j,temp;
for(i=1;i<a.length;i++){
j = i-1;
while(i>0 && a[j] > a[i]){
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
for(int x=0; x<a.length;x++){
System.out.println(a[x]);
}
}
}
Run Code Online (Sandbox Code Playgroud)
在外部循环的顶部,数组在元素下面排序i.您不想向i下移回阵列.在内部循环中j,i通过反复切换下一个向下的方式,将从下开始的新元素移动到已排序的数组中.
for (i = 1; i < a.length; i++){
for (j = i; j > 0 && a[j-1] > a[j]; j--){
temp = a[j];
a[j] = a[j-1];
a[j-1] = temp;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19757 次 |
| 最近记录: |