stl中的二分操作
二分操作:
upper_bound lower_bound binary_search
在已有序列中查找 指定数据 binary search
upper_bound 查找一个 >n 的最小地址
重载的是<n的最小地址
lower_bound 查找一个 >=n 的最小地址
重载的是<=n的最小地址
void work1() { int seq1[] = {1, 2, 3, 3, 4, 5}, seq2[] = {9, 8, 7, 7, 6, 5}; cout<<upper_bound(seq1, seq1+6, 3) - seq1<<endl; cout<<lower_bound(seq1, seq1+6, 3) - seq1<<endl; cout<<endl; cout<<upper_bound(seq2, seq2+6, 7, greater<int>()) - seq2<<endl; cout<<lower_bound(seq2, seq2+6, 7, greater<int>()) - seq2<<endl; }
不摸着石头过河,难道要在温柔乡睡到天昏地暗。