algorithm
一些已经编好的对一系列元素进行操作的函数集合(如排序,交换,计数等)
1、std::sort
:具有排序的功能
default (1) template void sort (RandomAccessIterator first, RandomAccessIterator last);custom (2) template void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp); //具有两个重载函数,将在[fisrt,last)范围内的元素以上升顺序排列,默认排序规则使用operator<,在第二个函数中可以通过 //comp函数来改变排列规则,comp函数接受范围内的两个元素,然后返回一个布尔型值,这个返回值真假表明 //接受的第一个元素是否应该在第二个元素前面。这个comp函数不改变范围内的任何值。
示例程序:
// sort algorithm example#include // std::cout#include // std::sort#include // std::vectorbool myfunction (int i,int j) { return (i
myvector (myints, myints+8); // 32 71 12 45 26 80 53 33 // using default comparison (operator <): std::sort (myvector.begin(), myvector.begin()+4); //(12 32 45 71)26 80 53 33 // using function as comp std::sort (myvector.begin()+4, myvector.end(), myfunction); // 12 32 45 71(26 33 53 80) // using object as comp std::sort (myvector.begin(), myvector.end(), myobject); //(12 26 32 33 45 53 71 80) // print out content: std::cout << "myvector contains:"; for (std::vector
::iterator it=myvector.begin(); it!=myvector.end(); ++it) std::cout << ' ' << *it; std::cout << '\n'; return 0;}