杭电2019 数列有序!

来源:互联网 发布:找图片的软件 编辑:程序博客网 时间:2024/04/30 05:31
注意一下如果插入的数相等!!
Problem Description
有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数x,请将该数插入到序列中,并使新的序列仍然有序。
 Input
输入数据包含多个测试实例,每组数据由两行组成,第一行是n和m,第二行是已经有序的n个数的数列。n和m同时为0标示输入数据的结束,本行不做处理。
 Output
对于每个测试实例,输出插入新的元素后的数列。
 Sample Input
3 31 2 40 0
 Sample Output
1 2 3 4
代码:

#include<iostream>using namespace std;int main(){ int n,m; while(cin>>n>>m) {  int i,t;  if(m==n &&m==0)   return 0;  int *x;  x=new int[n];  for(i=0;i<n;i++)   cin>>x[i];  for(i=0;i<n;i++)  {   if(m<x[i])    break;  }  if(i==n)  {   for(i=0;i<n;i++)   {   cout<<x[i]<<' ';   }   cout<<m<<endl;  }  else  {   for(t=0;t<=i-1;t++)   {   cout<<x[t]<<' ';   }   cout<<m<<' ';   for(t=i;t<n-1;t++)   {   cout<<x[t]<<' ';   }   cout<<x[n-1]<<endl;  }  delete [] x;

   

 } return 0;}