java:–程序要求– 若使用C++只能include一个头文件iostream;若使用C语言只能include一个头文件stdio 程序中若include多过一个头文件,不看代码,作0分处理 不允许使用第三方对象或函数实现本题的要求 输入 数据个数n,n个数据 输出 直插排序的每一趟排序结果 样例查看模式 正常显示 查看格式 输入样例1 <-复制 7 34 23 677 2 1 453 3 输出样例1 23 34 677 2 1 453 3 23 34 677 2 1 453 3 2 23 34 677 1 453 3 1 2 23 34 677 453 3 1 2 23 34 453 677 3 1 2 3 23 34 453 677
时间: 2024-03-25 18:37:55 浏览: 43
以下是Java语言实现直插排序的代码,只包含一个头文件import java.util.Scanner:
```java
import java.util.Scanner;
public class InsertionSort {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] arr = new int[n];
for(int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
}
for(int i = 1; i < n; i++) {
int temp = arr[i];
int j = i - 1;
while(j >= 0 && arr[j] > temp) {
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = temp;
for(int k = 0; k < n; k++) {
System.out.print(arr[k] + " ");
}
System.out.println();
}
}
}
```
该程序使用了Scanner类读取标准输入,使用一维数组存储输入的数据,然后使用直插排序算法对数组进行排序,并且在每一趟排序结束后输出排序结果。
阅读全文