#include<iostream>
using namespace std;
int main()
{
int n,insert;
cin>>n;
int a[n+1];
for(int i=0;i<n;i++)
cin>>a[i];
cin>>insert;
for(int i=0;i<n;i++)
{
if(insert<a[i])//定位插入位置
{
for(int j=n+1;j>i;j--)//后面全都往后窜一位
{
a[j]=a[j-1];
}
a[i]=insert;
break;
}
a[n]=insert;//要插入的值比所有原数组中所元素都大,放在末尾
}
for(int i=0;i<n+1;i++)
cout<<a[i]<<" ";
return 0;
}
#include<stdio.h>
int main()
{
int N , a[50] , b[50];
scanf("%d",&N);
for(int i = 0 ; i < N ; i++) scanf("%d",&a[i]);
scanf("%d",&a[N]); //printf("%d",a[N]);
for(int i = 0 ; i < N ; i++)
{
if(a[N] > a[N-1]) //a[N]放在最后
{
for(int j = 0 ; j < N ; j++) b[j] = a[j];
b[N] = a[N];
break;
}
else if(a[N] < a[0]) //a[N]放在最前
{
b[0] = a[N];
for(int j = 0 ; j < N ; j++) b[j+1] = a[j];
break;
}
else if(a[N] > a[i] && a[N] < a[i+1]) //a[N]放在中间
{
for(int j = 0 ; j <= i ; j++) b[j] = a[j];
b[i+1] = a[N];
for(int k = i + 1 ; k < N ; k++) b[k+1] = a[k];
break;
}
}
for(int c = 0 ; c <= N ; c++) printf("%d ",b[c]);
return 0;
} #include <stdio.h>
int main()
{
int a[55],n,i,x;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
scanf("%d",&x);
for(i=n;i>0;i--){
if(a[i-1]>=x){
a[i]=a[i-1];
}else{
a[i]=x;
break;
}
}
if(i==0) a[i]=x;
for(i=0;i<=n;i++){
if(i==n) printf("%d\n",a[i]);
else printf("%d ",a[i]);
}
} #include<stdio.h>
int main(void)
{
int i,n,num[100];
int t,count=1;
scanf("%d",&n);//输入元素个数
for(i=0;i<n;i++)//输入元素的值
{
scanf("%d",&num[i]);
}
scanf("%d",&t);//输入待插入元素
for(i=0;i<n;i++)//插在序列最前面或中间部分
{
if(num[i]>t&&count==1)
{
printf("%d ",t);
count=0;
}
printf("%d ",num[i]);
}
if(count==1) printf("%d ",t);//插在最后
return 0;
} #include <stdio.h>
#include <stdlib.h>
int main()
{
int n = 0;
scanf("%d", &n);
//申请n+1个空间大小的数组
int* a = (int*)malloc(sizeof(int) * (n + 1));
for(int i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
//插入的数
int m;
scanf("%d", &m);
int i = 0;
//找出要在那个位置插入
for(i = 0; i < n + 1; i++)
{
if(m <= a[i])
break;
}
//把这个位置之后的数据往后移一格,n是数组最后一个元素的下标
int j =0;
for(j = n; j > i; j--)
{
a[j] = a[j - 1];
}
//插入m到数组,跳出循环是j == i
a[j] = m;
//打印数组
for(i = 0; i < n + 1; i++)
{
printf("%d ", a[i]);
}
return 0;
} #include <stdio.h>
int main(){
int arr[10] = { 0 }, len = 0, x = 0;
scanf("%d", &len);
for(int i = 0; i < len; i++)
scanf("%d", &arr[i]);
scanf("%d", &x);
int i = len - 1;
while(arr[i] > x && i >= 0){
arr[i+1] = arr[i];
i--;
}
arr[i+1] = x;
for(int i = 0; i < len + 1; i++)
printf("%d ", arr[i]);
return 0;
} N = int(input())
list_N = list(map(int, input().split()))
number = int(input())
list_N.append(number)
list_N.sort()
print(" ".join(map(str, list_N))) #include <stdio.h>
int main()
{
int n, i, j, new1;
scanf("%d", &n);
int a[n+1]; //+1是留个空位放新数
for (i=0; i<n; i++) //输入n个数
scanf("%d", &a[i]);
scanf("%d", &new1); //输入新数
for (i=0; i<n-1; i++) //将n个数从小到大排序
{
for (j=i+1; j<n; j++)
{
if (a[i] > a[j])
{
int t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
for (i=0; i<n; i++) //插入新数并按从小到大排序
{
if (new1 >= a[n-1]) //如果新数比全部数大,就放在最后一个
{
a[n] = new1;
break;
}
else if (new1 <= a[i]) //如果新数小于等于a[i],就把a[i]后面的数逐一后移,再把新数放在a[i]的位置
{
for (j=n; j>=i+1; j--)
{
a[j] = a[j-1];
}
a[i] = new1;
break;
}
}
for (i=0; i<=n; i++) //输出插入新数并按升序排好的数组
printf("%d ", a[i]);
return 0;
} #include <stdio.h>
int main()
{
int n=0;
int a=0;
scanf("%d",&n);
int arr[50]={0};
for(int i=0;i<n;i++)
{
scanf("%d",&arr[i]);
}
scanf("%d",&a);
int cnt=0;
for(int j=0;j<n;j++)
{
if(arr[j]>=a)
{
for(int k=n;k>j;k--)
{
arr[k]=arr[k-1];
}
arr[j]=a;
break;
}
cnt++;
}
if(cnt==n)
{
arr[n]=a;
}
for(int i=0;i<=n;i++)
{
printf("%d ",arr[i]);
}
return 0;
} #include <iostream>
using namespace std;
int main() {
int n;
int isrt;
cin>>n;
int a[n+1];
int temp;
for(int i=0;i<n;i++){
cin>>a[i];
}
cin>>a[n];
for(int i=0;i<n;++i){
for(int j=0;j<n-i;++j){
if(a[j]>a[j+1]){
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
}
}
for(int i=0;i<n+1;i++)cout<<a[i]<<' ';
}
// 64 位输出请用 printf("%lld") #include <stdio.h>
int main() {
int n = 0;
scanf("%d", &n);
int arr[51] = { 0 };
for (int i = 0;i < n;i++)
{
scanf("%d", arr + i);
}
int m = 0;
scanf("%d", &m);
int i = 0;
for (i = n - 1;i >= 0;i--)
{
if (m >= arr[i])
{
arr[i + 1] = m;
break;
}
else {
arr[i + 1] = arr[i];
}
}
if (i < 0)
{
arr[0] = m;
}
for (int j = 0;j < n + 1;j++)
printf("%d ", arr[j]);
return 0;
} #include<stdio.h>
void My_scanf(int arr[],int n)
{
int i = 0;
for(i=0;i<n-1;i++)
{
scanf("%d",&arr[i]);
}
}
void insert(int arr[],int n)
{
int i = 0;
int j = 0;
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(arr[i]>=arr[j])
{
int temp = 0;
temp = arr[i];
arr[i]=arr[j];
arr[j] = temp;
}
}
}
}
void My_printf(int arr[],int n)
{
int i = 0;
for(i=0;i<n;i++)
{
printf("%d ",arr[i]);
}
}
int main()
{
int n = 0;
int k = 0;
scanf("%d\n",&n);
n = n + 1;
int arr[n];
My_scanf(arr,n);
scanf("%d",&k);
arr[n-1]=k;
insert(arr,n);
My_printf(arr,n);
return 0;
}