c++ - 如何创建动态大小的链表数组?

标签 c++ arrays list

我需要在运行时创建一个链表数组以进行哈希表分配。我们提供的示例代码仅允许创建静态大小的数组,并且我无法弄清楚如何修改它以使用变量,因为我尝试的所有操作都导致了错误。

示例代码:

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;

关于c++ - 如何创建动态大小的链表数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9496012/

相关文章:

c++ - 将 initializer_list 插入 std::vector 时出现 "Invalid iterator range"

c++ - 将一种类型的 constexpr n 维数组转换为不同类型的 constexpr n 维数组

c# - iPhone 编程 - 印象,意见?

c++ - 随机世界的数据结构

javascript - 如何从 Javascript 数组中获取最多五个值?

c++ - 如何从链表中删除节点?

python - 如何将2个字符串转换为Python列表?

java - 一旦我的列表包含 3 个项目,Android 应用程序就会崩溃

javascript - javascript如何将字符串转换为数字数组

python - 基于Enum迭代或索引列表