C++ find函数详解
C++的find函数提供了一种对vector、string类型数据进行查找的方法。
首先是对vector的查找:
int main()
{
vector<int> arr;
arr.push_back(1);
arr.push_back(5);
arr.push_back(12);
arr.push_back(7);
arr.push_back(6);
arr.push_back(4);
//输出一下vector
for(int i=0;i<arr.size();i++){
cout<<arr[i]<<" ";
}
cout<<endl;
vector<int>::iterator it;
//使用find()对vector进行查找会返回一个迭代器
it = find(arr.begin(), arr.end(), 7);
if (it != arr.end()){ //若返回的迭代器不指向end,说明查到了元素
cout << "输出查到的元素:" << *it<<endl;
cout << "输出查到的元素的下标:" << it-arr.begin();
}
else
cout << "查找失败";
return 0;
}
输出结果:
1 5 12 7 6 4
输出查到的元素:7
输出查到的元素的下标:3
对字符串的查找:
int main()
{
string s="98426357";
cout<<"字符串为:"<<s<<endl;
int pos0=s.find('9');
cout<<"查到的下标:"<<pos0<<endl;
int pos1=s.find('a');
cout<<"未查到返回:"<<pos1<<endl;
return 0;
}
输出结果:
字符串为:98426357
查到的下标:0
未查到返回:-1