import java.util.Scanner;
public class Main2019{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
int n = in.nextInt();
int m = in.nextInt();
int arr[] = new int [n+2];
int arre[] = new int[n+2];
int number = 0;
if (n==0&&m==0)
System.exit(0);
if (n<=100) {
for(int i = 1;i<=n;i++) {
arr[i]=in.nextInt();
arre[i]=arr[i];
}
for(int j = 1;j<=n;j++) {
if (m>=arr[j]&&m<=arr[j+1]) {
number=j;
arr[j+1]=m;
break;
}
}
for(int i = number+2;i<=n+1;i++) {
arr[i]=arre[i-1];
}
for(int i = 1;i<=n;i++) {
System.out.print(arr[i]+" ");
}
System.out.println(arr[n+1]);
}
}
}
}
因為涉及到排序,于是查詢了一下《算法》,也因為有一些方法寫的不是很詳細,是以不能短時間弄懂。是以直接自己寫的最聊撇的代碼。 借鑒了一位同學的想法——直接創造兩個數組,然後再插入新的資料之後,再複制移動資料就好。