自定义C++ Array类以支持高效搜索

发布时间:2024-07-19 12:10:04 作者:小樊
来源:亿速云 阅读:82
#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对象,并初始化数组。然后我们搜索一个特定的元素,如果找到则打印其索引,否则打印未找到的消息。

推荐阅读:
  1. 自定义C++ Array类以支持特定功能
  2. 自定义C++ Array类以优化特定操作

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c++

上一篇:C++ Array类与C++语言特性的演进

下一篇:C++ Array类在嵌入式系统编程中的优化

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》