*返回线性表中X第一次出现的位置,从1开始。若找不到则返回ERROR;C++
时间: 2024-09-13 18:11:22 浏览: 55
在C++中,你可以使用线性搜索算法(也称为顺序查找)来实现这个功能。这里是一个简单的示例函数,它会在给定的线性表(数组或vector)中查找元素`X`首次出现的位置:
```cpp
#include <vector>
#include <iostream>
int findFirstOccurrence(const std::vector<int>& list, int X) {
// 遍历线性表,从索引1开始
for (size_t i = 1; i <= list.size(); ++i) {
// 如果找到元素X,则返回当前索引
if (list[i - 1] == X)
return static_cast<int>(i); // 注意将大小_t转换为int以保持从1计数
}
// 如果遍历结束都没有找到,返回ERROR
return -1; // 表示未找到
}
int main() {
std::vector<int> numbers = {5, 7, 2, 9, 2, 4, 8, 2};
int target = 2;
int result = findFirstOccurrence(numbers, target);
if (result == -1)
std::cout << "Element not found.\n";
else
std::cout << "Element first appears at position " << result << ".\n";
return 0;
}
```
在这个例子中,函数`findFirstOccurrence`接收一个整数向量和目标值,然后检查每个位置直到找到目标值或遍历完整个列表。
阅读全文