编写程序实现插入排序java
时间: 2023-12-07 17:39:00 浏览: 81
以下是Java实现插入排序的代码示例:
```java
public class InsertionSort {
public static void main(String[] args) {
int[] arr = {5, 2, 6, 0, 3, 9, 1, 7, 4, 8};
insertionSort(arr);
System.out.println(Arrays.toString(arr));
}
public static void insertionSort(int[] arr) {
for (int i = 1; i < arr.length; i++) {
int key = arr[i];
int j = i - 1;
while (j >= 0 && arr[j] > key) {
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = key;
}
}
}
```
以上代码中,我们定义了一个`InsertionSort`类,其中包含了一个`main`方法和一个`insertionSort`方法。`main`方法中定义了一个整型数组`arr`,并将其传入`insertionSort`方法中进行排序。`insertionSort`方法中使用了插入排序算法,具体实现如下:
1. 从数组的第二个元素开始,将其作为关键字`key`。
2. 将关键字`key`与前面的元素进行比较,如果前面的元素比`key`大,则将前面的元素后移一位。
3. 重复步骤2,直到找到一个比`key`小的元素或者已经比较到数组的第一个元素。
4. 将`key`插入到该元素后面。
5. 重复步骤1-4,直到数组中的所有元素都被排序。
运行以上代码,输出结果为:
```
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
```
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![application/octet-stream](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![text/plain](https://img-home.csdnimg.cn/images/20250102104920.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)