gpt4 book ai didi

c++ - 理解/创建链表

转载 作者:行者123 更新时间:2023-11-30 02:06:15 25 4
gpt4 key购买 nike

我正在尝试创建一个简单的单向链表。我从概念上理解它,但我一直在尝试创建一个。我知道那里有指南,但我通过反复试验更好地理解了事情。

我的简单 Contact 类:

class Contact
{
std::string name, phNum;

Contact* next;

public:
void getInfo();
void printInfo();
};

此时,我要做的就是创建一个包含一些联系人的列表(即某种地址簿),然后打印出他们的信息。

根据我的理解,该列表应包含多个Contact 类型的唯一对象。

我的问题是,如何在堆中创建多个具有唯一地址的对象?我尝试了下面的方法,但它显然不起作用,因为所有指针都是相同的。

while(true)
{
Contact* newEntry= new Contact;
newEntry->getInfo();
// rest of the linking stuff
}

最佳答案

要在循环中初始化多个联系人,您可能需要执行如下操作:

Contact *FirstOne = new Contact();
Contact *current = FirstOne;
while(...)
{
current->next = new Contact();
current = current->next;
//do stuff to current, like adding info
}

这样您就可以建立您的联系人列表。之后 *FirstOne 是第一个,*current 是列表的最后一个元素。此外,您可能希望确保构造函数将 *next 设置为 NULL 以检测列表的末尾。

关于c++ - 理解/创建链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8943631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com