打印链接列表中的所有元素 一个来自C++初学者的问题……因为我想打印我的链接表中的所有元素,但是代码我只打印了第一个元素。有什么想法吗??非常感谢。这是我的代码(感谢您的帮助): #包括 #包括 使用名称空间std; 结构条目{ 字符串名称,电话; 条目*下一步; }; 无效打印条目(条目*e) { coutname

打印链接列表中的所有元素 一个来自C++初学者的问题……因为我想打印我的链接表中的所有元素,但是代码我只打印了第一个元素。有什么想法吗??非常感谢。这是我的代码(感谢您的帮助): #包括 #包括 使用名称空间std; 结构条目{ 字符串名称,电话; 条目*下一步; }; 无效打印条目(条目*e) { coutname,c++,pointers,C++,Pointers,您的代码有几个问题。下面是一些提示… 进行赋值时在BuildList()函数中: list=newOne; 您只将“最后一个”条目保存到列表中。以前的所有条目都是孤立的 语句:newOne->next=list; 实际上什么都不做…它简单的NULL终止newOne->next(因为'list'仍然为NULL)。此字段已在上一次GetNewEntry()调用中设置为NULL 代码的基本问题是,实际上并没有将每个新创建的节点相互链接,只保留最后一个带有列表的节点需要在一个遍历列表的循环中调用以打印每

您的代码有几个问题。下面是一些提示…
进行赋值时在BuildList()函数中:
list=newOne;
您只将“最后一个”条目保存到列表中。以前的所有条目都是孤立的

语句:
newOne->next=list; 实际上什么都不做…它简单的NULL终止newOne->next(因为'list'仍然为NULL)。此字段已在上一次GetNewEntry()调用中设置为NULL


代码的基本问题是,实际上并没有将每个新创建的节点相互链接,只保留最后一个带有列表的节点需要在一个遍历列表的循环中调用以打印每个元素。

嗯,您的代码显式打印一个元素。因此,请打印更多的元素。@ JuangopaZa能请您解释一下吗?如果可能的话,请您重写我的代码的打印PAR……谢谢,这是您的链接列表。跟随链接,打印每个元素。
#include <iostream>
#include <string>
using namespace std;

struct Entry{
string name,phone;
Entry *next;
};

void PrintEntry(Entry *e)
{
    cout<< e->name << " " << e->phone <<endl;
}

Entry *GetNewEntry()
{
    string name;
    cout<< "Enter name (ENTER to quit): ";
    getline(cin,name);
    if(name == "") return NULL;
    Entry *newOne = new Entry;
    newOne->name = name;
    cout<< "Enter phone: ";
    getline(cin, newOne->phone);
    newOne->next= NULL;
    return newOne;
}

Entry * Buildlist()
{
    Entry *list=NULL;
    while(true){
    Entry *newOne=GetNewEntry();
    if (newOne == NULL) break;
    newOne->next = list;
    list = newOne;
    }
    return list;
}

int main()
{
    Entry *n=Buildlist();
    PrintEntry(n);

    return 0;
}
void PrintAll(Entry *e)
{
  for(;e;e = e->next)
      PrintEntry(e)
}