为什么less <T>比较器用于最大堆,而big <T>用于最小堆?

问题描述

不是吗? 当我们将它们用作比较器时,我们所说的越来越少是什么意思 我不明白这方面的完整解释,有人可以帮我吗。

解决方法

使用比较器来确定一个元素a是否出现在另一个元素b之前,是一个惯例。这就是为什么要使用递增顺序a < bstd::less以及递减顺序a > b / std::greater的原因。

如果约定相反:使用比较器确定哪个元素排在最后。然后<将导致降序,而>将导致升序。