0

我需要从文件中读取单词,然后将其放入链接列表中。
我在这里(下面)有这些代码,它们可以插入链接列表部分。
该向量包含我从文件中读取的单词

    List( vector <string> &v )
    {
        ListNode *cur = head;

        for ( int i = 0 ; i < v.size() ; i++ )
        {
            //cout << v[i] << endl;

            ListNode *newNode = new ListNode;

            newNode->item = v[i];

            if ( i == 0 )      // first node
            {
                newNode->next = NULL;
                head = newNode;
            }

            else               // insert node into the back
            {
                ListNode *prev = cur;
                newNode->next = prev->next;
                prev->next = newNode;
            }

            cout << cur->item << endl;

            system("pause");
        }
    }

我的问题是,在将单词插入节点后,我的节点没有转到下一个节点。
我试着把 cur = cur->next; 在 cout << cur->item << endl 之间;和系统(“暂停”);
该程序给了我错误

4

1 回答 1

0

您没有正确更新子节点。试试这个,在else街区里。

else 
{
   ListNode *prev = cur;
   prev->next = newNode;
}
cur = newNode;

它可以更简单地重写。但首先尝试纠正现有的程序,然后再寻求一个有效的程序。希望这可以帮助 !

于 2013-08-24T10:43:53.870 回答