1.结构体内嵌比较函数的规则
此时咗边那个r表示自己这个r如果排序的话,会按r值从小到大排序因为sort默认就是从小到大的。
而优先队列就不同了优先队列中默认是大值優先,所以大小关系相反比如下面这个:
那么这个优先队列是按price小的优先出队。
总之记住:结构体中直接写比较函数一定是左边那个裸嘚r表示当前this值如果r<a.r,那么就是从小到大排序而优先队列恰恰相反 就行了。
.排序vector结构体最好内嵌比较函数
重载运算符的格式如下:
本排序适用于内存排序并且有強制的优先级排序
本功能用户实际项目中搜索的展现以及推荐(当然优先级排序没有上面列的那么简单)
该版本性能还可以继续提供,因为时間有限所以先出一个版本
OrderData(主要放置待排序的id和排序因子所对应的值)
continue;//如果是一样的,则进行下一排序因子的比较CollectionUtils 集合工具可以使用其他開源的集合工具,主要是不希望依赖太多
//私有构造也可把类提取成抽象类 * 截取list集合 前闭后开区间, 如果起始位置为0,终止位置和集合总条數一致则直接返回原有集合 //如果起始位置为0,终止位置和集合总条数一致则直接返回原有集合SortService排序接口,主要便于以后扩展排序实现使用
1.结构体内嵌比较函数的规则
此时咗边那个r表示自己这个r如果排序的话,会按r值从小到大排序因为sort默认就是从小到大的。
而优先队列就不同了优先队列中默认是大值優先,所以大小关系相反比如下面这个:
那么这个优先队列是按price小的优先出队。
总之记住:结构体中直接写比较函数一定是左边那个裸嘚r表示当前this值如果r<a.r,那么就是从小到大排序而优先队列恰恰相反 就行了。
.排序vector结构体最好内嵌比较函数
重载运算符的格式如下: