java实现插入排序算法
时间: 2023-07-03 09:19:18 浏览: 49
好的,以下是 Java 实现插入排序算法的代码:
```java
public class InsertionSort {
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;
}
}
public static void main(String[] args) {
int[] arr = { 12, 11, 13, 5, 6 };
insertionSort(arr);
System.out.println(Arrays.toString(arr));
}
}
```
在这个实现中,我们使用了一个循环来遍历需要排序的数组,从第二个元素开始(即 `i=1`),并将其存储在 `key` 变量中。然后,我们使用另一个循环将 `key` 插入到前面已排序的子数组中的正确位置中。在这个过程中,我们将大于 `key` 的元素向右移动一个位置,以便为 `key` 腾出空间。
最后,我们将 `key` 插入到正确的位置上,完成一次插入排序的迭代。重复这个过程,直到整个数组被排序。