题目描述:
输入整型数组和排序标识,对其元素按照升序或降序进行排序
输入描述:
第一行输入数组元素个数
第二行输入待排序的数组,每个数用空格隔开
第三行输入一个整数0或1。0代表升序排序,1代表降序排序
输出描述:
输出排好序的数字
示例:
输入:
8
1 2 4 9 3 55 64 25
0
输出:
1 2 3 4 9 25 55 64
解题思路:
这题比较简单。cmpdes用来降序,cmpasc用来升序,对vector容器的内容进行sort排序,升序降序由输入决定,解决。
测试代码:
#include <iostream> #include <algorithm> #include <vector> using namespace std; // 降序 bool cmpdes(int a,int b) { return a>b; } //升序 bool cmpasc(int a,int b) { return a<b; } int main() { int num; while(cin>>num) { vector<int> v; for(int i=0;i<num;++i) { int temp; cin>>temp; v.push_back(temp); } int flag; cin>>flag; if(flag) { sort(v.begin(),v.end(),cmpdes); } else{ sort(v.begin(),v.end(),cmpasc); } for(auto i:v) { cout<<i<<" "; } cout<<endl; } return 0; }