重载小于号
解题的过程中有时候,根据题目的要求我们很难去自己实现一种满足题意的数据结构,但是如果我们对STL库比较熟悉的话,可以通过改写里面的一些库函数,从而满足题意的要求。在做题的过程中常见的一些方法主要是对小于号<进行改写。
对set中的<进行改写和对priority_queue中的<进行改写,主要是对这两种数据结构中的存储对象(也就是自己定义的一个结构体)进行改写,改写的方法如下:
1 struct Node { 2 int num; 3 int index; 4 bool operator<(const Node& a) const { 5 return a.num == num ? index < a.index : a.num < num; 6 } 7 };
永远渴望,大智若愚(stay hungry, stay foolish)