在向量之间使用时如何解释大于和小于运算符(`<`、`>`)?

我尝试了以下变体:

vec![5, 5, 5] > vec![1, 1, 1]退货true
vec![5] > vec![1, 1, 1]退货true
vec![5, 0] > vec![6, 1]退货false
vec![1, 5, 2] > vec![0, 6, 1]退货true

似乎只有第一个元素用于确定输出;向量大小差异和其余元素在比较中被忽略。应该是这样吗?

数组似乎以相同的方式响应,唯一的区别是两个数组的大小应该相同。

回答

这就是所谓的词典顺序。不幸的是,您的测试具有误导性。vec![5, 5, 5] > vec![5, 5, 6]返回false,或者一般来说:

vec![x, y] > vec![x, y - k]   // true for any k > 0 and (y - k) valid
vec![x, y, z] > vec![x, a, b] // same result as vec![y, z] > vec![a, b]

字典顺序是集合类型的常用顺序。请注意,VecOrd实现还将比较记录为字典序。


以上是在向量之间使用时如何解释大于和小于运算符(`<`、`>`)?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>