题解 | #有序序列插入一个整数#
有序序列插入一个整数
https://www.nowcoder.com/practice/444e87f938464906a1649cff236b102b
#include <iostream> using namespace std; int main() { int n,k,j,m=0; cin>>n; int arr[100]; for(int i=0;i<n;i++){ cin>>arr[i]; } cin>>k;//输入 for(j=0;j<n;j++){ if(arr[j]>k){ m=j;//保存j的位置 for(int g=n-1;g>=j;g--) { arr[g+1]=arr[g];//比k大的,都依次向后移动一位 } arr[m]=k;//插入k break;//一旦发生大于k的情况,此循环只运行一次便退出循环 } else if(arr[n-1]<k){//k比所有数组都大,没有进入上方的循环 arr[n]=k; break;//跳出循环 } } for(int i=0;i<n+1;i++){//依次输出 cout<<arr[i]<<" "; } return 0; } // 64 位输出请用 printf("%lld")