写排序和用小根堆时总是记混又去查,总结一下。
含义:less(<),greater(>)。作为cmp比较函数时,返回值为真就不交换。
所以对于sort:less为升序(默认),greater为降序;
对于堆 :less为大根堆(默认,堆排是升序),greater为小根堆。
对于堆我简单理解记忆为,堆的类型和排序的类型是一样的,大根堆每次取最上面的一个元素和堆末尾交换,然后再调整堆,最后得出的序列就是堆排序的结果(大根堆是升序)。这个和sort是对应的。
理解有误的话,欢迎大佬指正或分享更好的记忆方法,十分感谢。
好的,谢谢