谓词实现sort的降排列数据
来源:互联网 发布:淘宝假冒伪劣无需退货 编辑:程序博客网 时间:2024/05/16 12:43
谓词听起来象英语中的谓语动词,但并不是这样,它是一个函数,返回bool结果的函数,这些函数在标准库中有很多用法。
都知道使用sort都是以升序排列值的,但如果要降序排列数据呢?函数sort充许提供一个谓词函数(called pred)用于比较项。
排序谓词函数必须满足以下条件:
1.pred(a,a)必须为false
2.如果pred(a,b)为true,且pred(,b,c)为true,则pred(a,c)必须为true
3.形参类型必须和待排序的元素类型相匹配
4.返回值类型必须为bool,或者C++可以自动转换为bool的类型
如果不提供谓词,sort使用操作符<作为默认比较
EXAMPLE
#include <algorithm>
#include <iostream>
#include <istream>
#include <ostream>
#include <iterator>
#include <vector>
//实现降序排列的谓词
bool descending(int a,int b)
{
return a > b;
}
int main()
{
std::vector<int> data;
data.insert(data.begin(),std::istream_iterator<int>(std::cin),std::istream_iterator<int>());
std::sort(data.begin(),data.end(),descending);//使用提供的谓词
std::copy(data.begin(),data.end(),std::ostream_iterator<int>(std::cout,"\n"));
}
POSSIBLE OUTPUT
当然也可以通过sort后再使用reverse来实现降序输出...
- 谓词实现sort的降排列数据
- STL学习笔记之顺序容器sort方法里的谓词参数的理解
- 在类的成员函数使用带谓词的sort()函数
- 排列数据的输出
- 冒泡法实现数据的从大到小排列。
- 纯JS实现排列整齐的数据表格
- 谓词实现关键字搜索
- c++ 中sort的用法 实例说明 sort是用来排序 实现不同类型的数据排序
- 使用搜索条UISearchBar 谓词实现搜索的判断
- 全排列的实现
- 全排列的实现
- 全排列的实现
- 全排列的实现
- 全排列的实现
- 排列的递归实现
- 全排列的实现
- Permutations 排列的实现
- 全排列的实现
- echo 追加至文件
- JSP基础语法之七:response对象,定时刷新、四种跳转对比、cookie
- 百度2013校园招聘笔试题[软件研发]及答案
- hdu1711(kmp)
- CEI.ENSIGHT.GOLD.v10.0.2g.Incl.Keygen-Lz0
- 谓词实现sort的降排列数据
- 为Web前端开发者准备的免费PSD资源网站
- ServerSocket 与 Socket的区别
- aaaaaaaaaaaaa
- 面试准备—后缀数组、伴随数组
- LeetCode: String to Integer (atoi)
- ARM程序调用规则(ATPCS)分析
- 在vs2010平台上创建并使用dll
- ABAP报表的屏幕事件