【发布时间】:2020-08-01 23:57:37
【问题描述】:
缺少什么?
少一点 快搞定了
还有没有办法让它更快? 谢谢
public class InsertionSort {
public static void main(String[] argv) {
int[] data = {4, 1, 7, 8, 9, 3, 2};
sort(data);
for (int i = 0; i < data.length; i++) {
System.out.println(data[i]);
}
}
public static void sort(int[] data) {
int j, pivot;
// insert data[i] to sorted array 0 ~ i - 1
// begins from i = 1, because if the array has only one element then it must be sorted.
for (int i = 1; i < data.length; i++) {
pivot = data[i];
for (j = i - 1; j >= 0 && data[j] > pivot; j--) // shift data[j] larger than pivot to right
{
data[j+1] = data[j];
}
}
}
}
【问题讨论】:
-
您可以使用
O(n*log(n))算法(如快速排序)使其更快。 -
您能否展示实际输出以及您期望发生的情况?
标签: java sorting insertion-sort