题意整理。
- 键盘输入5个整数,使用vector容器进行存储。
- 然后使用STL排序算法对容器中元素按从大到小进行排序,并使用STL遍历算法输出元素。
方法一(STL)
1.解题思路
- 首先通过STL的sort将容器中元素按从大到小方式排序。
- 然后定义print方法,指定输出格式。遍历容器中所有元素,并按print方法指定格式输出。
图解展示:
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个整数待处理,所以排序和遍历的复杂度均为常数级别,所以时间复杂度为。
- 空间复杂度:vector容器为题目指定的,所以不需额外的内存空间,所以空间复杂度为。