STL专题之一:
1.学会使用algorithm头文件中的sort和lower_bound;
2.sort(a,a+n)排序,a为数组名
3.lower_bound的作用是查找"大于或者等于x的第一个位置"——int p= lower_bound(a,a+n,x)-a;
#include<iostream>
#include<cstring>
#include<string>
#include<algorithm>
#include<cstdio>
#include<set>
const int maxn = 10000;
using namespace std;
int n,q;
int a[maxn];
int main()
{
int cas=0,x;
while(cin>>n>>q)
{
if(n==0&&q==0) break;
printf("CASE# %d:\n", ++cas);
for(int i=0;i<n;i++)
{
cin>>a[i];
}
sort(a,a+n);//排序
while(q--)
{
cin>>x;
int p=lower_bound(a,a+n,x)-a;//查找位置
if(a[p]==x) printf("%d found at %d\n",x,p+1);
else printf("%d not found\n",x);
}
}
return 0;
}
本文介绍如何使用STL中的algorithm头文件进行数组排序和查找操作。具体包括sort函数的基本用法及其参数说明,以及lower_bound函数的使用方法,通过示例代码展示了如何实现数组元素的查找定位。
1012

被折叠的 条评论
为什么被折叠?



