我有一个像这样的结构
:
struct Key_Node
{
int key;
struct Package_Node *next_package;
};
我将创建一个动态数组“struct Key_Node arrayMain[X]
”,其中 X
的值将由用户输入,并根据它创建动态数组。
由于我不知道数组的大小,显然我不能将动态数组的每个指针指向某个东西。那么我必须在这里做什么?
我有另一个看起来像这样的struct
。
struct Package_Node
{
int bar_code;
float package_weight;
struct Package_Node *next_packaged;
};
Key_Node mainArray[dynamicvalue]
和
package_node totalPackages[动态值]
依次是动态数组和链表。我将创建随机包并使用哈希表方法对它们进行排序。如果我的 X
是 3 而我的随机条形码是 10,我将执行 10 % 3
结果为 1,因此随机 package_node
将是添加到 mainArray[1]
,列表将像那样增长。
最佳答案
看来您需要一些帮助才能开始。看起来你被要求实现 hash table .在 C
中,您使用 malloc
分配动态存储,在 C++
中,您使用 new
,请参阅 In what cases do I use malloc vs new?
这应该可以帮助您入门,希望对您有所帮助。
#include <iostream>
struct Key_Node
{
int key;
struct Package_Node *next_package;
};
struct Package_Node
{
int bar_code;
float package_weight;
struct Package_Node *next_packaged;
};
int main() {
size_t X;
std::cout << "Enter X: ";
std::cin >> X;
Key_Node *mainArray = new Key_Node[X];
for(size_t i=0; i<X; ++i) {
mainArray[i].next_package = NULL;
}
//-- Rest of your program goes here
delete [] mainArray;
return 0;
}
关于c++ - 如何将动态数组中的数组指向某物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15193928/