在一个已排序(从小到大)的数组中插入数据n,使其插入后,数组元素仍保持从小到大的顺序。
思路:用一个Vector装入,最后再写回原数组。
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int a[11] = { 1,4,6,9,13,16,19,28,40,100 };
vector<int> v;
int n;
bool flag = 0;
int i = 0;
cin >> n;
for (; i < 11; i++)
{
if (n > a[i])
{
if(i!=10)
v.push_back(a[i]);
else
v.push_back(n);
}
else
{
if (flag == 0)
{
v.push_back(n);
i--;
flag = 1;
}
else
v.push_back(a[i]);
}
}
for (i = 0; i < 11; i++)
{
a[i]= v[i] ;
cout << a[i] << " ";
}
return 0;
}
输出结果: