C++有一个已经从小到大排好序的整数数组,现输入一个整数x,要求按原来的升序规律将它插入到数组中

有一个已经从小到大排好序的整数数组:a[30]={6,9,12,15,19,23,45,67,89,98},现输入一个整数 x ,要求按原来的升序规律将它插入到数组中

#include<iostream>
using namespace std;
int main()
{
int a[30]={6,9,12,15,19,23,45,67,89,98};
int i; //循环变量
int icount=0; //计数器
for(i=0;i<30;i++)
{
if(a[i]>0)
icount++; //得到大于0的数字个数
}
cout<<"a[30]={6,9,12,15,19,23,45,67,89,98};\n"<<"输入要插入的数字\n";
int inter;
cin>>inter;
if(inter>=a[icount-1]) //插在最后
a[icount]=inter;
else
for(i=0;i<icount-1;i++)
{
if(a[i]<=inter&&a[i+1]>inter)
{
for(int j=icount;j>=i+2;j--) //原来的第i+1个数往后移
{
a[j]=a[j-1];
}
a[i+1]=inter;
break;
}
}
cout<<"插入结果如下:\n";
cout<<"a[30]={";
for(i=0;i<=icount-1;i++)
cout<<a[i]<<",";
cout<<a[icount]<<"};"<<endl;
return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-12-18
做一个新的数组b,把x连同所有a里的元素全放进去,然后冒泡法
相似回答