描述:
对容器元素进行排序。
定义:
template< class RandomIt >
void sort( RandomIt first, RandomIt last );
template< class RandomIt >
constexpr void sort( RandomIt first, RandomIt last );
template< class RandomIt, class Compare >
void sort( RandomIt first, RandomIt last, Compare comp );
template< class RandomIt, class Compare >
constexpr void sort( RandomIt first, RandomIt last, Compare comp );
参数:
first, last - 要排序的元素范围
policy - 所用的执行策略。细节见执行策略。
comp - 比较函数对象(即满足比较 (Compare) 概念的对象),若第一参数小于(即先序于)第二参数则返回 true 。
返回值:
无
示例:
#include <iostream>
#include <algorithm>
#include <string>
int main()
{
std::string s = "6487545241";
std::sort(std::begin(s),std::end(s));
std::cout << s << std::endl;
//1244455678
}
#include <iostream>
#include <algorithm>
#include <vector>
struct SData
{
int m_nData;
double m_dData;
SData(int nData, double dData)
:m_nData(nData),m_dData(dData)
{
}
};
int main()
{
std::vector<SData> v;
v.push_back(SData(4,4));
v.push_back(SData(2, 2));
v.push_back(SData(3, 3));
v.push_back(SData(1, 1));
std::sort(std::begin(v), std::end(v), [](const SData& d1,const SData& d2)
{
return d1.m_nData < d2.m_nData;
});
for (int i = 0; i < v.size(); i++)
{
std::cout << v[i].m_nData << " ";
}
std::cout << std::endl;
//1 2 3 4
}