#include <iostream>
template<typename T, int N>
class Array {
private:
T data[N];
public:
Array() {}
T& operator[](int index) {
return data[index];
}
int size() {
return N;
}
int search(T key) {
for (int i = 0; i < N; i++) {
if (data[i] == key) {
return i;
}
}
return -1;
}
};
int main() {
Array<int, 5> arr;
for (int i = 0; i < arr.size(); i++) {
arr[i] = i * 2;
}
int key = 6;
int index = arr.search(key);
if (index != -1) {
std::cout << "Key " << key << " found at index " << index << std::endl;
} else {
std::cout << "Key " << key << " not found in the array" << std::endl;
}
return 0;
}
这个Array类使用了模板和固定大小的数组来实现。它提供了operator[]
重载来访问数组元素,size()
函数来获取数组大小,以及search()
函数来搜索指定的元素。在main函数中,我们创建一个包含5个元素的Array对象,并初始化数组。然后我们搜索一个特定的元素,如果找到则打印其索引,否则打印未找到的消息。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。