用java代码实现使用插入排序对给定数组从小到大排序,不需要输出排序后的数组,需输出从第二个元素开始每个元素 插入的的位置
时间: 2024-03-18 19:38:49 浏览: 60
插入排序的java实现.docx
好的,以下是用Java代码实现使用插入排序对给定数组从小到大排序并输出每个元素插入的位置:
```java
public static void insertionSort(int[] arr) {
for (int i = 1; i < arr.length; i++) {
int cur = arr[i];
int j = i - 1;
while (j >= 0 && arr[j] > cur) {
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = cur;
System.out.println("第" + i + "个元素插入位置为:" + (j + 2));
}
}
```
在这个方法中,我们首先遍历数组,从第二个元素开始进行插入排序,即从下标为1的位置开始。然后,我们使用一个while循环,将当前元素与已排序的子数组中的元素进行比较,直到找到一个比它小的元素或者已经到达子数组的开头为止。在循环过程中,我们将比当前元素大的元素向右移动一个位置,为当前元素腾出空间。最后,我们将当前元素插入到子数组中正确的位置,并输出它的插入位置。
阅读全文