(解题报告)HDU2019---数列有序!

来源:互联网 发布:淘宝网上海故事 编辑:程序博客网 时间:2024/04/27 17:09

这个题我做的有些复杂了,但好在思路还比较清晰,我是找到m的下标后将其标记,然后从后往前给m挪位置,最后插入。
代码如下:

#include <iostream>#include <cstring>using namespace std;int main(){    int a[105],n,m,c,i;//用c来表示m应该在的下标所在!     while (cin>>n>>m)    {        if(m<0)m=-m;        memset(a,0,sizeof(0));        if(m==0&&n==0)        return 0;        for(i=0;i<n;i++)        {            cin>>a[i];        }        for(i=0;i<n;i++)        {            if(m<=a[i])            {                c=i;                break;            }        }        for(i=n;i>c;i--)        {            a[i]=a[i-1];        //从后面向前赋值,将位数加1,留出m的位置。         }        a[c]=m;        for(int i=0;i<=n;i++)        {            if(i==0)            cout<<a[i];            else             cout<<" "<<a[i];        }        cout<<endl;    }    return 0;}

仅代表个人观点,不喜勿喷!!!
这里写图片描述

0 0
原创粉丝点击