upper_bound

头文件:

  #include<algorithm>

作用:

  查找第一个大于给定数的元素或位置

在从小到大的排序数组中,

1.容器

(1).返回元素

#include<cstdio>
#include<algorithm>
#include<vector>
using namespace std;
vector<int> v;
int main()
{
int a[] = {,,,,};
for(int i = ;i < ;i++)
v.push_back(a[i]);
vector<int>::iterator it = upper_bound(v.begin(),v.end(),);
printf("%d\n",*it);
return ;
}

(2).返回位置

#include<cstdio>
#include<algorithm>
#include<vector>
using namespace std;
vector<int> v;
int main()
{
int a[] = {,,,,};
for(int i = ;i < ;i++)
v.push_back(a[i]);
int pos = upper_bound(v.begin(),v.end(),)-v.begin();
printf("%d\n",pos);
return ;
}

2.数组

(1).返回元素

#include<cstdio>
#include<algorithm>
using namespace std;
int main()
{
int a[] = {,,,,};
int *it = upper_bound(a,a+,);
printf("%d\n",*it);
return ;
}

(2).返回位置

#include<cstdio>
#include<algorithm>
using namespace std;
int main()
{
int a[]={,,,,};
int pos = upper_bound(a,a+,)-a;
printf("%d\n",pos);
return ;
}

在从小到大的排序数组中,

upper_bound( begin,end,num,greater<type>() )

其他用法与upper_bound(从小到大的那个)相似

说明,要查找的有序序列必须是合法的,已经被排序的序列。
上一篇:codevs 1183 泥泞的道路 01分数规划


下一篇:“jquery于each方法和选择”学习笔记