typedef char STR10[10+1];
typedef char STR20[20+1];
typdef struct Slot
{
STR10 key;
STR10 value;
};
const int MAX_SLOTS = 3;
const int MAX_BUCKETS = 30;
typedef struct Bucket
{
short int count;
short int overflow;
Slot slots[MAX_SLOTS];
};
typedef Bucket HashTable[MAX_BUCKETS];
大多数情况下,我只是对最后一行的概念感到困惑。我知道我可以将结构更改为类,这样会很好,但最后一行是找到我的。它基本上是说HashTable是一个桶阵列。这段代码是否足够好,或者有没有办法在HashTable类中表示它?
class HashTable
{
private:
Bucket table[MAX_BUCKETS];
}
会代表同样的想法吗?我真的很想开始这个。
答案 0 :(得分:2)
如果可以的话,我可以用std::string替换char数组,用std::vector替换Slot数组,用enum替换define:
enum SlotSize
{
MaxSlots = 3
};
enum BucketSize
{
MaxBuckets = 30
};
struct Slot
{
std::string key;
std::string value;
};
struct Bucket
{
int count;
int overflow;
std::vector<Slot> slots;
};
class HashTable
{
private:
std::vector<Bucket> table;
}