题意整理。

  • 键盘输入5个整数,使用vector容器进行存储。
  • 然后使用STL排序算法对容器中元素按从大到小进行排序,并使用STL遍历算法输出元素。

方法一(STL)

1.解题思路

  • 首先通过STL的sort将容器中元素按从大到小方式排序。
  • 然后定义print方法,指定输出格式。遍历容器中所有元素,并按print方法指定格式输出。

图解展示: alt

2.代码实现

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

//元素和元素之间使用空格隔开
void print(int x){
    cout<<x<<" ";
}

int main() {

    int num;
    vector<int> v;
    for (int i = 0; i < 5; i++) {
        cin >> num;
        v.push_back(num);
    }

    //按从大到小方式排序
    sort(v.begin(),v.end(),greater<int>());
    //遍历容器中所有元素,并按print方法指定格式输出
    for_each(v.begin(),v.end(),print);

    return 0;
}

3.复杂度分析

  • 时间复杂度:只有5个整数待处理,所以排序和遍历的复杂度均为常数级别,所以时间复杂度为O(1)O(1)
  • 空间复杂度:vector容器为题目指定的,所以不需额外的内存空间,所以空间复杂度为O(1)O(1)