PTA 将数据插入到数组 Java代码
题目详情
已有一个已排好(从小到大)的n个元素的整型数组,输入一个整数,要求按从小到大的规律将它插入数组相应位置中。
输入格式
在第一行输入数据的组数n(n<=10),接下来输入n组数据,每组的中第一个为数据个数(m)及m个数据,然后是插入的数据。
输出格式
输出每组数据要插入结果。
输入样例
在这里给出一组输入。例如:
2
2
1 4
5
5
1 3 5 7 9
2
输出样例
1 4 5
1 2 3 5 7 9
代码如下
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input =new Scanner(System.in);
int flag=input.nextInt();
int count=0;
while(count<flag) {
int cnt = input.nextInt();
int[] arr = new int[100];
for ( int i = 0; i < 100; i++ ) {
arr[i]=0;
}
for ( int j = 0; j < cnt; j++ ) {
arr[j]= input.nextInt();
}
int key = input.nextInt();
int pos =cnt;
for ( int j = 0; j < cnt; j++ ) {
if ( arr[j]>key ){
pos=j;
break;
}
}
for (int i = cnt; i > pos; i--) {
arr[i] = arr[i - 1];
}
arr[pos]=key;
for (int j = 0; j < cnt+1; j++) {
System.out.print(arr[j]+" ");
}
System.out.println();
count++;
}
}
}
可能还是有些繁琐,仅供参考吧。