请写一段java代码实现插入对数组的插入排列
时间: 2024-02-12 14:04:44 浏览: 134
以下是一段 Java 代码实现插入排序的示例:
```java
public class InsertionSort {
public static void main(String[] args) {
int[] arr = {5, 2, 9, 3, 7, 1};
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` 方法,用于实现插入排序。该方法接受一个整型数组作为参数,并按照升序排列数组元素。具体实现过程如下:
1. 首先获取数组的长度 `n`。
2. 遍历数组,从第二个元素开始,依次取出一个元素 `key`。
3. 将 `key` 与它前面的元素进行比较,如果前面的元素比 `key` 大,则将前面的元素向后移动一位。
4. 继续比较前面的元素,直到找到一个比 `key` 小的元素,或者到达数组的起始位置。
5. 将 `key` 插入到该位置后面。
6. 重复步骤 2 到 5,直到遍历完整个数组。
在上述代码中,我们使用了一个 `while` 循环来比较并移动元素,这个循环会一直执行,直到找到一个比 `key` 小的元素,或者到达数组的起始位置。然后,我们将 `key` 插入到该位置后面,这样就实现了插入排序。最终,我们使用 `Arrays.toString` 方法将排好序的数组打印出来。
阅读全文