STL自定义比较函数

调用sort函数需要加头文件<algorithm>

sort函数默认的比较函数为(简化)

bool comp(int a,int b){

return a<b;

}

即默认排序为从小到大,如果想从大到小,只需要作如下修改

bool comp(int a,int b){

return a<b;

}

调用sort函数时,显性调用comp函数,sort(begin,end,comp)

结构体自定义排序规则

有两种方法,举例说明

在结构体内重载运算符<

struct temp{

int w;

int p;

temp(){

w=0;

p=0;

}

bool operator <(const temp &t)const{

return w<t.w     //按w的大小从小到大排列

}

}

定义比较函数,与前面相同

时间: 2024-11-25 10:59:21

STL自定义比较函数的相关文章

对于一些stl自定义比较函数

1.unorderd_map自定义键 自定义类型 struct my_key { int num; string name; }; 1.由于unordered_map是采用哈希实现的,对于系统的类型int, string等,都已经定义好了hash函数,所以如果我们引入新的自定义类型的话,系统并不知道如何去计算我们引入的自定义类型的hash值,所以我们就需要自己定义hash函数,告诉系统用这种方式去计算我们引入的自定义类型的hash值自定义的hash函数如下: struct myHashFuc {

STL 优先队列的自定义比较函数与 sort() 等泛型算法的自定义比较函数的区别

前言 最近在刷算法题,常常需要自定义比较函数作为作为函数对象送入 stl 中,遇到了下面的问题: 泛型算法 sort() 的比较函数是这么写: //sort() 实现元素间关系为递增的比较函数 struct cmp{ bool operator () (const T& a, const T& b) const { return a.x < b.x; } }; //或者这样bool operator < (const T& a, const T& b) cons

【C++】自定义比较函数小结

1.使用结构体grid作为map的key struct grid { int x; int y; }; (1)需要自定义比较函数operator<,不然会报错: error C2784: “bool std::operator <(const std::deque<_Ty,_Alloc> &,const std::deque<_Ty,_Alloc> &)”: 未能从“const grid”为“const std::deque<_Ty,_Alloc&

vector中sort用法到自定义比较函数comp

从最简单的vector中sort用法到自定义比较函数comp后对结构体排序的sort算法 sort函数在使用中非常好用,也非常简单,而且效率与冒泡或者选择排序不是一个数量级.本文就sort函数在vector中的用法分为sort函数入门用法与自定义comp比较函数比较结构体这两个最基本的功能讲讲其用法: 1.sort入门: 使用sort需要包含algorithm头文件,完整代码如下 #include<iostream> #include<vector> #include<alg

[转]LeetCode: 128 Largest Number (自定义比较函数排序)

题目: Given a list of non negative integers, arrange them such that they form the largest number. For example, given [3, 30, 34, 5, 9], the largest formed number is 9534330. Note: The result may be very large, so you need to return a string instead of

[C++]LeetCode: 128 Largest Number (自定义比较函数排序)

题目: Given a list of non negative integers, arrange them such that they form the largest number. For example, given [3, 30, 34, 5, 9], the largest formed number is 9534330. Note: The result may be very large, so you need to return a string instead of

从最简单的vector中sort用法到自定义比较函数comp后对结构体排序的sort算法

sort函数在使用中非常好用,也非常简单,而且效率与冒泡或者选择排序不是一个数量级.本文就sort函数在vector中的用法分为sort函数入门用法与自定义comp比较函数比较结构体这两个最基本的功能讲讲其用法: 1.sort入门: 使用sort需要包含algorithm头文件,完整代码如下 #include<iostream> #include<vector> #include<algorithm>//貌似可以不用,但最好加上. using namespace std

oracle 自定义比较函数

1>自定义比较函数,targetVal的值为字符串,例如:“>=90”,"2~8"等范围格式,dataVal值为字符串. create or replace function compare1(targetVal in varchar2, dataVal in varchar2) return integer is v_Result integer; dataVal_int number; targetVal_int number; v_targetVal varchar2

stl中map自定义比较函数

在stl中自定义map比较函数有两种方式,方式一在类中重载<操作符,方式二仿比较函数 1.方式一:重载<操作符 #include "stdafx.h" #include <map> #include <string> #include <iostream> using namespace std; class Key { public: Key(string name, int age) { this->name=name; thi