- sort()
#include <iostream>//输入输出
#include <vector>
#include<algorithm>//sort方法
using namespace std;
//时间复杂度n*log2(n)的排序算法,默认升序
void main() {
vector<int> p;
int a;
while (cin >> a) {
p.push_back(a);
if ('\n' == cin.get()) break;
}
sort(p.begin(), p.end());
for (int i = 0; i < p.size(); i++) cout << p[i] << ' ';
cout << endl;
}
举个栗子:
input:1 7 3 8 5 4
output:1 3 4 5 7 8
此外,sort()是有第三个参数的,自己编写一个比较函数来实现
#include <iostream>//输入输出
#include <vector>
#include<algorithm>
using namespace std;
bool compare_decrease(int a, int b)
{
return a > b; //从大到小的排列
}
void main() {
vector<int> p;
int a;
while (cin >> a) {
p.push_back(a);
if ('\n' == cin.get()) break;
}
sort(p.begin(), p.end(),compare_decrease);
for (int i = 0; i < p.size(); i++) cout << p[i] << ' ';
cout << endl;
}
举个栗子:
input:1 7 3 8 5 4
output:8 7 5 4 3 1
参考:
1.c+±algorithm 头文件排序sort