在使用sort函数对vector进行排序时,如果两个值相同,则它们的相对顺序不确定,取决于具体的实现。如果需要确定相同值的顺序,可以在sort函数中自定义比较函数,按照相应的规则进行排序。例如,如果要让值小的在前面,则可以使用以下比较函数:

bool myComp(int a, int b){
    if(a == b) return false;
    else return a < b;
}

然后在sort函数中传入该比较函数即可:

vector<int> vec = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3};
sort(vec.begin(), vec.end(), myComp);

这样排序后,两个相同的值,值小的会在前面。

C++ vector排序:如何控制相同值的顺序

原文地址: https://www.cveoy.top/t/topic/lJmf 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录