1

这些是我的结构声明

struct Package_Node
{
    int bar_code;
    float package_weight;
    struct Package_Node *next;//_packaged;
};

struct Key_Node
{
    int key;
    struct Package_Node *next;//_package;
};

这就是在其中添加一些随机项目的方式

        for(int i=0;i<N;i++)
        {
            barcodeTemp = rand() % max_value + 1;
            keyTemp = barcodeTemp % X;
            tempWeight = rand() % 500 + 1;
            totalPackages[i].bar_code=barcodeTemp;
            totalPackages[i].package_weight=tempWeight;

        }
        for(int i=0;i<N;i++)
        {
            cout << totalPackages[i].bar_code <<endl;
            cout << totalPackages[i].package_weight << endl;
        }

我想知道我是否需要在代码内部和结构外部添加一些东西来创建链表?更清楚地说,我正在使用 Package_node 结构创建(比方说)5 个随机包,这些包具有 bar_code 和 package_weight 的随机值。我正在使用哈希表方法来确定 key_node 中包信息的存储位置。如果 key_node[1] 有两个元素并且我想添加第三个元素,我该怎么做才能在末尾添加第三个元素而不删除任何内容。它必须是一个链接列表,并且末尾必须始终指向 NULL。

4

1 回答 1

0

在你的 for 循环中添加这样的内容:

totalPackages[i].next = NULL;
if (i>0) {
  totalPackages[i-1].next = &totalPackages[i];
}
于 2013-03-03T11:01:45.450 回答