C++数组

来源:互联网 发布:淘宝客佣金生效时间 编辑:程序博客网 时间:2024/06/08 16:31

1.对一个已正序排列的数组,输入一个数,要求仍按原来的规则排序

#include <iostream>using namespace std;int main(){int num;int a[9]={1,13,23,34,45,56,67,78};std::cout<<"原始数组:"<<endl;for(int i=0; i<9; ++i)std::cout<<a[i]<<" ";std::cout<<endl;cin>>num;    if(a[7]<num)a[8]=num;else{for(int i=0; i<8; i++)    {if(a[i]>num){for(int j=7; j>=i; j--)a[j+1]=a[j];a[i]=num;break;        //找到目标数组,要注意退出}    }}for(int i=0; i<9; ++i)std::cout<<a[i]<<" ";std::cout<<endl;return 0;}
也可以从末尾的数组开始比较:
if(a[7]<num)a[8]=num;else{for(int i=6; i>0; i--)// 符合i>0的条件就继续循环,否则退出循环    {if(a[i]<num){for(int j=7; j>=i+1; j--)//a[j+1]=a[j];a[i+1]=num;break;}    }}



0 0