通过非传递性比较器进行排序"工作"吗?

dud*_*mar 10 java sorting comparator

如果我提供一个非传递会发生什么ComparatorCollections.sort?我可以遇到无限循环吗?

我写的一个小测试产生了一个输出,但我想确保始终如此.

问题是在某些情况下,我的比较器可以产生循环,在这种情况下,我只是想确保它不会遇到无限循环.我不关心实际结果.

Pab*_*blo 7

Java文档说,你必须确保你的比较是传递的.如果您提供的比较器不符合要求,则所有投注均已关闭.它可能适用于给定的实现,但可能会std::sort在另一个实现中崩溃(在C++中).

简而言之,即使它适用于某些或其他示例,您也不应该依赖它.