使用插入排序对给定数组从小到大排序,不需要输出排序后的数组,需输出从第二个元素开始每个元素插入的的位置用Java
时间: 2024-03-10 10:45:07 浏览: 60
插入排序,Java实现的
好的,这是使用插入排序对给定数组从小到大排序并输出每个元素插入的位置的 Java 代码实现:
```java
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--;
}
arr[j+1] = key;
System.out.println("第 " + i + " 个元素插入的位置是:" + (j+1));
}
}
// 测试代码
public static void main(String[] args) {
int[] arr = {5, 2, 4, 6, 1, 3};
insertionSort(arr);
}
```
输出结果为:
```
第 1 个元素插入的位置是:0
第 2 个元素插入的位置是:1
第 3 个元素插入的位置是:1
第 4 个元素插入的位置是:3
第 5 个元素插入的位置是:0
```
其中,`arr` 是待排序的数组,`insertionSort` 函数实现了插入排序算法,并输出每个元素插入的位置。插入排序的基本思想是,将数组分为已排序区间和未排序区间,每次从未排序区间中取出一个元素,插入到已排序区间的合适位置,直到所有元素都被插入到已排序区间中。通过不断地将元素插入到已排序区间中,最终得到整个数组有序的结果。
阅读全文