问题描述
给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200
输入格式
第一行为一个整数n。
第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。
输出格式
输出一行,按从小到大的顺序输出排序后的数列。
样例输入
5
8 3 6 4 9
样例输出
给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200
输入格式
第一行为一个整数n。
第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。
输出格式
输出一行,按从小到大的顺序输出排序后的数列。
样例输入
5
8 3 6 4 9
样例输出
3 4 6 8 9
注:练习使用stl的sort
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
using namespace std;
struct Comp{
private:
bool flag_;
public:
Comp(bool flag):flag_(flag){
}
bool operator()(const int &a,const int &b){
return flag_?a>b:b>a;
}
};
int main()
{
vector<int> a;
int n,temp;
cin>>n;
for(size_t i = 0;i<n;i++){
cin>>temp;
a.push_back(temp);
}
sort(a.begin(),a.end(),Comp(false));
for(vector<int>::iterator index=a.begin();index!=a.end();index++){
cout<<*index<<" ";
}
return 0;
}