一、代码和效果
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[6]={1,45,2,5,456,7};
sort(a,a+6);
for(int i=0; i<6; i++)
{
cout<<a[i]<<" "<<endl;
}
return 0;
}
二、sort函数解析 (从小到大)
std::sort
是C++标准库中用于对容器或数组进行排序的函数,它位于头文件<algorithm>
中。
函数原型
template< class RandomIt >
void sort( RandomIt first, RandomIt last );
RandomIt
是一个模板参数,代表了一个随机访问迭代器类型。first
是指向排序范围的起始位置的迭代器。last
是指向排序范围的末尾元素的下一个位置的迭代器。
功能
std::sort
函数用于对指定范围内的元素进行排序,根据默认的比较函数(operator<
)进行升序排序。排序后,范围内的元素将按照指定的顺序排列。
代码例子
#include <iostream>
#include <algorithm>
#include <vector>
// 自定义比较函数,用于从大到小排序
bool compare(int a, int b) {
return a > b; // 返回true表示a排在b的前面,即从大到小排序
}
int main() {
std::vector<int> vec = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3};
// 使用自定义比较函数对整个向量进行排序
std::sort(vec.begin(), vec.end(), compare);
// 输出排序后的结果
for (const auto& num : vec) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
三、sort降序用法(从大到小)
#include <iostream>
#include <algorithm>
#include <vector>
// 自定义比较函数,用于从大到小排序
bool compare(int a, int b) {
return a > b; // 返回true表示a排在b的前面,即从大到小排序
}
int main() {
std::vector<int> vec = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3};
// 使用自定义比较函数对整个向量进行排序
std::sort(vec.begin(), vec.end(), compare);
// 输出排序后的结果
for (const auto& num : vec) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}