【发布时间】:2018-07-01 11:26:24
【问题描述】:
我尝试通过书中的伪代码在 java 中编写插入排序。此代码的输出应该是按升序排列的数字,但由于某种原因,我得到了 10、4、5、6、7、8、9。任何帮助是极大的赞赏!谢谢!
public class InsertionSort {
public int Array[] = {10,9,8,7,6,5,4};
public static void main(String[] args) {
InsertionSort obj1 = new InsertionSort();
}
public InsertionSort() {
InsertionSortMethod();
PrintArray();
}
public void InsertionSortMethod() {
for(int j = 2; j < Array.length; j++) {
int key = Array[j];
int i = j - 1;
while(i > 0 && Array[i] > key) {
Array[i + 1] = Array[i];
i = i - 1;
}
Array[i + 1] = key;
}
}
public void PrintArray() {
for(int i = 0; i < Array.length; i++) {
System.out.println(Array[i]);
}
}
}
【问题讨论】:
标签: java arrays sorting insertion-sort