STL greater<T>() 和less<T>()
2017-09-11 18:49
288 查看
greater() 和less()函数经常使用在sort()中用来对容器进行升序或者降序排序,或者用在push_heap()和pop_heap()中用来构建最小堆(greater)或者最大堆(less).
二者包含在头文件functional中
原型如下:
示例:
二者包含在头文件functional中
原型如下:
//包含在头文件<functional>中 // TEMPLATE STRUCT greater emplate<class _Ty> struct greater : public binary_function<_Ty, _Ty, bool> { // functor for operator> bool operator()(const _Ty& _Left, const _Ty& _Right) const { // apply operator> to operands return (_Left > _Right); } }; // TEMPLATE STRUCT less emplate<class _Ty> struct less : public binary_function<_Ty, _Ty, bool> { // functor for operator< bool operator()(const _Ty& _Left, const _Ty& _Right) const { // apply operator< to operands return (_Left < _Right); } };
示例:
// range heap example #include <iostream> // std::cout #include <algorithm> // std::make_heap, std::pop_heap, std::push_heap, std::sort_heap #include <vector> // std::vector int main () { int myints[] = {10,20,30,5,15}; std::vector<int> v(myints,myints+5); std::make_heap (v.begin(),v.end()); std::cout << "initial max heap : " << v.front() << '\n'; std::pop_heap (v.begin(),v.end()); v.pop_back(); std::cout << "max heap after pop : " << v.front() << '\n'; v.push_back(99); std::push_heap (v.begin(),v.end()); std::cout << "max heap after push: " << v.front() << '\n'; std::sort_heap (v.begin(),v.end()); std::cout << "final sorted range :"; for (unsigned i=0; i<v.size(); i++) std::cout << ' ' << v[i]; std::cout << '\n'; return 0; }
相关文章推荐
- 关于STL中的greater<T>()和less<T>()
- C++ greater<int>()和less<int>()
- POJ 3253 Fence Repair (priority_queue的用法) ----- less<int> 和 greater<int>
- greater<int>()和less<int>()的使用
- greater<int>()表示内置类型从大到小排序,less<int>()表示内置类型从小到大排序
- greater<int>()和less<int>()的使用
- greater和less是头文件<functional>
- greater<int>()和less<int>()的使用
- greater<int>()和less<int>()的使用
- c++ STL ostream_iterator<> demo
- <STL系列> 配置器
- STL 数值极限 辅助函数 <cstddef ><cstdlib>
- 【C++ STL】算法 <algorithm>中各种算法解析
- greater<int>()
- STL<vector>用法汇总
- my stl study-road<template>
- STL学习总结之<仿函数>
- STL <cctype>
- 入门计划->学用stl std::map<std::string, int>
- <Effective STL>笔记--关联容器