已知有按元素值从小到大顺序排列的一维数据{23,35,110,145,207}。后面不断插人新的数据元素。例如,插人的第1个数为52,则插入后的一一 维数据为{23,35,52, 110,145,207};插人的第2个数为10, 则插入后的一维数据为{10,23, 35,52, 110,145,207};插人的第3个数为321,则插入后的一-维数据为{10, 23, 35,52,110,145,207,321
#include <iostream>
using namespace std;
int main()
{
int a[20] = {23,35,110,145,207};
int i,j,data,nmb = 5;
cin >> data;
for (i=0;i<nmb;i++)
{
if(a[i] > data)
{
for(j=nmb;j>i;j--)
a[j] = a[j-1];
a[i] = data;
break;
}
}
if(i==nmb) a[nmb]= data;
nmb++;
cout << "插入后:" ;
for(i=0;i<nmb;i++)
cout << a[i] << " " ;
return 0;
}
#include <iostream>
using namespace std;
int main()
{
int a[10] = {23,35,110,145,207};
int n=5,d,i,j;
cin >> d;
for (i=0;i<n;i++)
{
if(a[i] > d)
{
for(int j=n;j>i;j--)
a[j] = a[j-1];
a[i] = d;
break;
}
}
if(i==n) //如果新插入的数大于所有数,则该数加入到数组尾
a[n] = d;
n++;
for(i=0;i<n;i++)
cout << a[i] << " " ;
return 0;
}