这些是我的结构声明

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。

最佳答案

在您的for循环中添加以下内容:

totalPackages[i].next = NULL;
if (i>0) {
  totalPackages[i-1].next = &totalPackages[i];
}

10-06 05:15