使用插入排序对给1 2 3 4从小到大排序,不需要输出排序后的数组,需输出从第二个元素开始每个元素 插入的的位置并生成java代码
时间: 2024-03-14 09:45:17 浏览: 54
java排序算法大全
好的,以下是使用插入排序算法对给定数组进行排序的 Java 代码,并输出每个元素插入的位置。
```java
public class InsertionSort {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4};
insertionSort(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;
System.out.println("Element " + key + " is inserted at index " + (j + 1));
}
}
}
```
这段代码定义了一个名为 `InsertionSort` 的类,它包含一个 `main` 方法和一个 `insertionSort` 方法。`main` 方法中创建了一个给定数组,并调用了 `insertionSort` 方法对该数组进行排序。`insertionSort` 方法使用插入排序算法对数组进行排序,同时在排序的过程中,通过 `System.out.println` 方法输出每个元素插入的位置。
对于给定的 `1 2 3 4` 数组,程序输出的结果为:
```
Element 2 is inserted at index 1
Element 3 is inserted at index 2
Element 4 is inserted at index 3
```
这表明,在排序过程中,2被插入到了1的后面,3被插入到了1和2之间,4被插入到了1、2和3之间。
希望这段代码能够帮助您解决问题。
阅读全文