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; }