#include<iostream.h>
#include<algorithm>
using namespace std;
#define SIZE 100
int iarray[SIZE];
int main()
{
iarray[20]=50;
int *ip=find(iarray,iarray+SIZE,50);
if(ip==iarray+SIZE)
cout<<"50notfoundinarray"<<endl;
else
cout<<*ip<<"foundinarray"<<endl;
return 0;
}
在引用了I/O流库和STL算法头文件(注意没有.h后缀),该程序告诉编译器使用std名字空间使用std名字空间的这行是可选的,因为可以删除该行对于这么一个小程序来说不会导致名字冲突
程序中定义了尺寸为SIZE的全局数组由于是全局变量,所以运行时数组自动初始化为零下面的语句将在索引20位置处地元素设置为50,并使用find()算法来搜索值50: iarray[20]=50;
int*ip=find(iarray,iarray+SIZE,50);
find()函数接受三个参数头两个定义了搜索的范围由于C和C++数组等同于指针,表达式iarray指向数组的第一个元素而第二个参数iarray+SIZE等同于past-the-end值,也就是数组中最后一个元素的后面位置第三个参数是待定位的值,也就是50find()函数返回和前两个参数相同类型的迭代器,这儿是一个指向整数的指针ip
时间: 2024-10-10 08:20:03