STL之vector3

描述

将n个数字输入到vector里,并对其进行从大到小排序并输出。

部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码。

 

int main()
{
    vector<int> vec;
    while(Input(vec))
    {
        Sort(vec);
        for(vector<int>::iterator it=vec.begin();it!=vec.end();it++)
        {
            if(it!=vec.begin())
                cout<<" ";
            cout<<*it;
        }
        cout<<endl;
    }

    return 0;
}

输入

输入数据有多组,每组第一行为正整数n,第二行为n个整数,空格隔开。

输入以EOF结束。

输出

输出从大到小排序后的值。

样例输入

 3
1 3 2
4
1 2 3 4

样例输出

 3 2 1
4 3 2 1

#include <iostream>
#include <vector>
#include <algorithm>
using  namespace std;
bool Input(vector<int> &vec)
{
    int n;
    if (cin >> n)
    {
        vec.clear();
        while (n--)
        {
            int m;
            cin >> m;
            vec.push_back(m);
        }
        return true;
    }
    return false;
}
bool cmp(int a, int b)
{
    return  a > b;
}
void Sort(vector<int > &vec)
{
    sort(vec.begin(), vec.end(), cmp);
}
int main()
{
    vector<int> vec;
    while(Input(vec))
    {
        Sort(vec);
        for(vector<int>::iterator it=vec.begin();it!=vec.end();it++)
        {
            if(it!=vec.begin())
                cout<<" ";
            cout<<*it;
        }
        cout<<endl;
    }

    return 0;
}

 

 

posted @ 2018-04-04 23:23  极限之旅  阅读(334)  评论(0编辑  收藏  举报