用Java采用插入排序实现数组的升序排序(从小到大)。 要求: (1)输入数组元素个数N,然后输入N个整数。 (2)采用插入排序实现数组的升序排序。
时间: 2024-12-02 08:28:26 浏览: 22
插入排序是一种简单直观的排序算法,它的基本思想是将待排序的数据分为已排序区间和未排序区间,每次从未排序区间的第一个元素开始,找到其在已排序区间中的合适位置,并插入到该位置,直到所有元素都排序完毕。以下是使用Java实现插入排序的一个例子:
```java
import java.util.Scanner;
public class InsertionSort {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数组元素个数N:");
int N = scanner.nextInt();
int[] arr = new int[N];
System.out.println("请输入" + N + "个整数:");
for (int i = 0; i < N; i++) {
arr[i] = scanner.nextInt();
}
insertionSort(arr);
System.out.println("排序后的数组为:");
for (int num : arr) {
System.out.print(num + " ");
}
}
// 插入排序函数
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; // 将找到的位置插入key
}
}
}
```
在这个代码里,我们首先获取用户输入的元素个数N和数组内容,然后调用`insertionSort`函数对数组进行排序。`insertionSort`函数通过遍历数组,比较每个元素与已排序部分的元素,将当前元素插入到正确的位置。排序完成后,我们会打印出排好序的数组。
阅读全文