定义:
让我们
<
成为一个二元关系,其中a < b
意味着“a
小于b
”。
让我们
>
成为一个二元关系,其中a > b
意味着“a
大于b
”。
因此,我们假设<
并>
具有我们通常在日常生活中使用的含义。虽然,在某些编程语言(例如 C++)中,我们可以重载它们以赋予它们不同的定义,此后我们不再考虑这一点。
上下文:
就我阅读严格弱排序的数学定义(例如Wikipedia)而言,我认为两者<
兼而有之>
。但是,我在许多网站上看到的所有示例都仅指<
. 甚至有一个网站说
他们大致的意思是严格的弱排序必须表现出“小于”的行为方式:如果a小于b,则b不小于a,如果a小于b且b小于c,则a小于 c,以此类推。
此外,在 N4140(C++14 国际标准)中,严格的弱排序定义为
(§25.4-4)如果我们定义
equiv(a, b)
为!comp(a, b) && !comp(b, a)
,那么要求就是 ,comp
并且equiv
都是传递关系
其中comp
定义为
(§25.4-2)
Compare
是一个函数对象类型(20.9)。应用于类型对象的函数调用操作的返回值Compare
,当上下文转换为bool
(第 4 条)时,true
如果调用的第一个参数小于第二个参数,则产生,false
否则。Compare comp
始终用于假设排序关系的算法。
问题:
">" 是否满足严格的弱排序?我希望如此,但没有信心。