c++ - 如何将动态数组中的数组指向某物?

标签 c++ arrays dynamic linked-list

我有一个像这样的结构:

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/

相关文章:

c# - 使用 .Net 测试 JavaScript 类 - 最佳实践?

c++ - 从 Qt C++ 中动态创建的 Qline 编辑中获取文本值

java - std::strtoull 在我的 JNI NDK 环境下无法识别

c++ - 如何将整数数组从 Tcl 传递到 C++?

python - 根据一列的交集过滤多个 NumPy 数组

python - 检查 Python 数组中的两个相同字符串元素

python - 沿轴组合数组

C++ Pimpl Idiom 使用预先存在的类

c++ - 为什么我需要显式分离短期变量?

variables - 动态变量命名和引用 (ColdFusion)