template <class RandomAccessIterator> void sort ( RandomAccessIterator first, RandomAccessIterator last ); template <class RandomAccessIterator, class Compare> void sort ( RandomAccessIterator first, RandomAccessIterator last, Compare comp );
Sample1 デフォルトの比較(昇順)
int data[10] = { 1, 3, 5, 7, 9, 2, 4, 6, 8, 0}; std::sort( data, data + 10); for(size_t i = 0; i < 10; ++i) { std::cout << data[i] << " "; } std::cout << std::endl;
Sample2 関数オブジェクトで比較関数を指定
template<typename Ty> class AbsLess { public: bool operator()(const Ty& riLeft, const Ty& riRight) const { return std::abs(riLeft) < std::abs(riRight); } }; int data[10] = { 1, 3, 5, 7, 9, -2, -4, -6, -8, 0}; std::sort( data, data + 10, AbsLess<int>()); for(size_t i = 0; i < 10; ++i) { std::cout << data[i] << " "; } std::cout << std::endl;
コメントをかく