版权声明:本文为博主原创文章,未经博主允许必须转载。 https://blog.csdn.net/qq_35950004/article/details/88941067
有一些cmp写法会使得sort卡死。
经过实验,发现需要不存在有两个元素
使得
,否则就有可能在大数据下卡死。(当然显然不能排序的也会卡死)
注意是可以
的。
所以如果需要排序的元素中有相等的,那么返回0.。。。。。
测试代码:
#include<bits/stdc++.h>
using namespace std;
bool cmp(const int &u,const int &v){ return u<=v; }// TLE
int a[1000000];
struct cmp2{
bool operator ()(const int &u,const int &v){ return u<v; }
};
multiset<int,cmp2>st;
int main(){
for(int i=0;i<100000;i++) a[i] = rand() % 2;
sort(a,a+100000,cmp);
printf("%d\n",a[0]);
for(int i=0;i<100000;i++) st.insert(a[i]);
printf("%d\n",a[0]);
}