// 【场景】向量vector查找 // 编写一个函数 findElement,接受一个整数向量和一个目标值作为参数,并返回目标值在向量中的索引。 // 如果目标值不存在于向量中,则返回 -1。 #include #include #include using namespace std; int findElement(vector &v, const int &item) { int index = 0; vector::iterator it = v.begin(); while (it != v.end()) { if (*it == item) // 如果找到了 return index; // 返回索引 index++; // 索引加一 it++; // 迭代器指向下一个元素 } return -1; } string print(int item) { if (item == -1) return "目标不存在"; else { // to_string() 函数可以将整数转换为字符串 // 需要 #include 头文件 // 需要 c++11 标准,编译时加上 -std=c++11 string s = to_string(item); return s; } } int main() { int arr[] = {1, 2, 3, 4, 5, 4, 6, 7, 8, 9, 10}; // 定义数组 vector v1(arr, arr + sizeof(arr) / sizeof(arr[0])); // 将数组转换为向量 cout << "5 在目标值向量中的索引为: " << print(findElement(v1, 5)) << endl; // 4 cout << "11 在目标值向量中的索引为: " << print(findElement(v1, 11)) << endl; // -1 return 0; }