‹ 上一题 下一题 ›

g5-08320. 降序输出 未做

1000 ms 256 MB 测试点 10 通过率 100% GESP-55级·STLalgorithm

题目描述

读入 个整数存进 vector<int>,把它们从大到小(降序)排好,再按顺序输出。

先看下面这个「读入 个数、sort 升序、输出」的完整模板程序,把它改造成降序输出即可:

#include <bits/stdc++.h>
using namespace std;

int main() {
    int n;
    cin >> n;
    vector<int> v(n);
    for (int i = 0; i < n; i++) cin >> v[i];
    sort(v.begin(), v.end());   // 升序排序:默认从小到大
    for (int i = 0; i < n; i++) {
        cout << v[i] << " \n"[i == n - 1];   // 依次输出每个元素,最后一个后面换行
    }
    return 0;
}

改法不止一种:给 sort 添上第三个参数 greater<int>(),它就改成从大到小;也可以自己写比较函数,让它在 应排在 前面时返回 a > b。

输入格式

第一行一个整数 ()。

第二行 个整数 ()。

输出格式

一行 个整数:从大到小输出,用空格分隔。

样例

输入:

5
3 1 4 1 5

输出:

5 4 3 1 1

升序的 sort 添上第三参数 greater<int>() 后改成从大到小:5、4、3、1、1。

数据范围

,。提示:sort(v.begin(), v.end()) 什么都不加永远是升序——想反着来,第三参数不能忘。

输入
输出

            
答案