用java实现插入排序并用一组数据验证
时间: 2023-08-05 16:47:17 浏览: 46
好的,以下是用Java实现插入排序的代码:
```java
public class InsertionSort {
public static void main(String[] args) {
int[] arr = {5, 2, 8, 3, 1, 6};
insertionSort(arr);
System.out.println(Arrays.toString(arr));
}
public static void insertionSort(int[] arr) {
int n = arr.length;
for (int i = 1; i < n; ++i) {
int key = arr[i];
int j = i - 1;
while (j >= 0 && arr[j] > key) {
arr[j + 1] = arr[j];
j = j - 1;
}
arr[j + 1] = key;
}
}
}
```
以上代码中的 `insertionSort` 方法就是插入排序的实现,它的时间复杂度为 $O(n^2)$。可以使用以下数据验证代码的正确性:
```java
public class TestInsertionSort {
public static void main(String[] args) {
int[] arr = {5, 2, 8, 3, 1, 6};
InsertionSort.insertionSort(arr);
assert Arrays.equals(arr, new int[]{1, 2, 3, 5, 6, 8});
System.out.println("Test passed");
}
}
```
以上代码会对插入排序的结果进行验证,如果排序后的数组与预期的数组一致,则说明插入排序的实现是正确的。