gpt4 book ai didi

c++ - 如何初始化对象 vector 数组

转载 作者:太空宇宙 更新时间:2023-11-04 16:15:39 26 4
gpt4 key购买 nike

我是 C++ 的新手,正在尝试使用指向 vector 的指针来实现一个简单的 HashTable(这样我就可以在碰撞时进行链接)。我不确定我是否会采用这种完全错误的方式。

我如何在下面的构造函数中构造给定大小的 HashTable?

谢谢。

class HashTable
{
public:
HashTable(size_t size)
{
// ? how do i create an array of vector of entry object of size size
}
private:
class Entry
{
public:
Entry(string key, int value) : _key(key), _value(value) {}
~Entry(){}
private:
string _key;
int _value;
friend class HashTable;
};

vector<Entry>* _table;
size_t _size;
}

最佳答案

Bucket 创建一个typedef,它是Entry 对象的列表。在哈希表中存储 Bucket 的列表。

class HashTable
{
public:
HashTable(size_t size) : _table(size) // Initialize the table given the size
{ // There is no need to keep the size
} // as member data.
private:
class Entry
{
public:
Entry(string key, int value) : _key(key), _value(value) {}
~Entry(){}
private:
string _key;
int _value;
friend class HashTable;
};

// Create a typedef for a bucket, which is a list of `Entry`s.
std::vector<Entry> Bucket;

// Store a list of Buckets.
std::vector<Bucket> _table;
}

关于c++ - 如何初始化对象 vector 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23038180/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com