问题
给你一个整数 n 和一个数列(数列个数不超过 1000 ),这个数列保证从小到大排列,现要求将这个整数 n 插入到数列中,使新的数列仍然从小到大排列。
1.分析问题
- 已知:一个整数 n 和一个数列
- 未知:新的数列
- 关系:整数 n插入到数列,仍然从小到大排列
2.定义变量
sub:下标
//二、数据定义
int n,m,a[10000],sub;
3.输入数据
//三、数据输入
cin>>n;
cin>>m;
for(int i=0;i<m;i++){
cin>>a[i];
if(a[i]<n){
sub=i+1;
}
}
4.数据计算
//四、数据计算
for(int i=m;i>=sub;i--){
a[i]=a[i-1];
}
a[sub]=n;
5.输出结果
#include<iostream>
using namespace std;
int main(){
//一、分析问题
//已知:一个整数 n 和一个数列
//未知:新的数列
//关系:整数 n插入到数列,仍然从小到大排列
//二、数据定义
int n,m,a[10000],sub;
//三、数据输入
cin>>n;
cin>>m;
for(int i=0;i<m;i++){
cin>>a[i];
if(a[i]<n){
sub=i+1;
}
}
//四、数据计算
for(int i=m;i>=sub;i--){
a[i]=a[i-1];
}
a[sub]=n;
//五、输出结果
for(int i=0;i<m+1;i++){
cout<<a[i]<<" ";
}
return 0;
}