uva10474-----sort的使用
code:
#include <cstdio>
#include<algorithm>
/*
//主要用sort 进行排序 sort
这个函数可以传两个参数或三个参数。第一个参数是要排序的区间首地址,第二个参数是区
间尾地址的下一地址。也就是说,排序的区间是[a,b)。简单来说,有一个数组int a[100],
要对从a[0]到a[99]的元素进行排序,只要写sort(a,a+100)就行了,默认的排序方式是升序。
第三参数——比较函数。比较函数是一个自己定义的函数,返回值是bool型,它规定了什么
样的关系才是“小于”。想把刚才的整数数组按降序排列,可以先定义一个比较函数cmp
bool cmp(int a,int b) // 这样的话就是降序排列
{
return a>b;
}
*/
using namespace std;
#define Max 10000
int main(){
int n,m,kase=1,s[Max];
while(scanf("%d %d",&n,&m)==2&&n){
printf("CASE# %d:\n",kase++);
for(int i= 0;i < n;i++)
scanf("%d",&s[i]);
sort(s,s+n);
while(m--){
int k;
scanf("%d",&k);
int p = lower_bound(s,s+n,k)-s; //返回在s-s+n中k能插在哪里的下表,且仍然能按顺序排列
if(s[p] == k) printf("%d found at %d\n",k,p+1);
else printf("%d not found\n",k);
}
}
return 0;
}
浙公网安备 33010602011771号