如何创建一个动态大小的链表数组
How can I create a dynamically sized array of linked lists?
我需要在运行时为哈希表赋值创建一个链表数组。我们得到的示例代码只允许创建静态大小的数组,我不知道如何修改它以使用变量,因为我所尝试的一切都会导致错误。
样本代码:
typedef std::list<int> INT_LIST;
typedef INT_LIST* INT_LIST_POINTER;
int size = 13;
INT_LIST_POINTER myArray[size];
INT_LIST_POINTER tmpPtr;
// initialize the array to point to empty lists
for (int i=0; i<size; i++){
tmpPtr = new INT_LIST;
myArray[i] = tmpPtr;
}
我当前的非工作代码:
typedef std::list<int> INT_LIST;
typedef INT_LIST* INT_LIST_POINTER;
INT_LIST_POINTER myArray = new INT_LIST[p];
INT_LIST_POINTER tmpPtr;
for (int i=0; i<n; i++){
INT_LIST* temp = new INT_LIST;
myArray[i] = temp;
}
主要问题似乎是
myArray[i] = temp;
它表示没有与那些操作数匹配的内容。
如果这是C++,为什么不使用std
:
std::vector<std::list<MyClass> > x;
分配大小为p
:的数组
INT_LIST_POINTER myArray = new INT_LIST[p];
然后继续初始化CCD_ 3元素:
for (int i=0; i<n; i++){
除非p
和n
是同一个东西,否则这看起来不对。
附言:完成delete[] myArray
后不要忘记它。
相关文章:
- 实现链表数组
- 调整大小和复制哈希表数组中的元素
- 使用(非对象)API 时改变表数组C++而不重新创建整个平面缓冲区
- 递归解决方案,用于显示线性链表数组
- 链表数组(5 个队列)
- 从链表数组访问节点数据
- 在C 中对多个链接数组进行排序
- 无法通过一个单向链表数组创建邻接列表
- 如果我们使用链表数组来实现哈希表,则可以以不需要遍历的方式实现"add"。这是真的还是假的?
- 使用共享指针创建的链表数组
- 链表数组给C++带来麻烦
- 链表数组大小不同
- 如何检查链表数组中的某个链表是否为空
- 链表数组的堆栈溢出问题
- 使用链表数组实现哈希表
- 链表数组 – 地址簿
- 链表数组(使用哈希)
- 如何创建一个动态大小的链表数组
- 链表数组c++
- 哈希表 - 链表数组 - C++