发布网友 发布时间:2022-04-25 19:05
共2个回答
热心网友 时间:2023-10-13 15:15
首先,两个vector容器之间只有“==”和“!=”两种关系,vector容器内部元素的类型也不一定要重载小于号。
不过,如果要对一个vector进行排序的话,那么元素一定要重载小于号,而且是严格弱序。因为sort函数对于A和B来说,如果A<B和B<A同时不成立的话,那么A就等于B。如果在 A != B 时,出现A < B 的同时又有 B < A的情况,那么排序算法就起不到判定相等作用了。
同样地,map内部由红黑树(一种平衡二叉树)实现,本质上来说和排序算法是等同的,而且又自带了去重功能。如果没有严格弱序,一个map里就可能出现两个同样的关键值,那么程序就很可能因此出现错误。追问vector容器是重载了小于号的,这个MSDN可以查到,因此江哥vector是可以比较大小的,我就想知道这种容器之间比较大小的算法是不是严格弱序的
热心网友 时间:2023-10-13 15:15
《红楼梦》人物画-林黛玉《红楼梦》人物画-林黛玉