是否有特定原因将less运算符用作max pq的默认比较?

时间:2018-11-25 16:56:46

标签: c++ stl priority-queue

为什么不能将更大的运算符用作比较?使用少于以下是否有特别的优势?

1 个答案:

答案 0 :(得分:4)

您的问题有两个方面:

  • 首先,从技术上讲这是不正确的:大多数算法(不确定您到底是指哪种算法)都将std::less用作默认值。但是,可以覆盖该默认值。重要的一点是比较的行为,即,它强加了“严格-弱排序”,您会在许多关于该主题的文本中发现该术语,并且(甚至我相信)标准本身。
  • 第二,按照升序进行操作通常是“自然的”,这是C ++标准库中的默认设置。