题目描述:
STL库中有许多非常实用的函数,如sort,set,map,vector,queue等。 此题为sort的应用教学,题目如下: 读入n个数,要求按照从大到小的顺序输出出现的数字。
输入:
第一行读入一个 n ( 0<n<=1000000) 第二行读入n个整数k (-2^31 <= k < 2^31 )
输出:
按从大到小的顺序输出出现的数字,数字之间用一个空格分开
样例输入
6
8 9 3 11 45 7
样例输出
45 11 9 8 7 3
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool compare(int v1, int v2)
{
return v1>v2;
}
int main()
{
int n, k;
vector<int> v;
cin >> n;
for(int i = 0; i < n; i++)
{
cin >> k;
v.push_back(k);
}
sort(v.begin(), v.end(), compare);
for(int i = 0; i < n-1; i++)
{
cout << v[i] << " ";
}
cout << v[n-1] << endl;
return 0;
}
/* 注意题目要求是:按从大到小的顺序输出出现的数字,数字之间用一个空格分开
所以最后一个整数输出后直接换行,不能输出空格后,再换行! */