我可以打印一个字符串。但是当我尝试添加两个字符串时,它只打印第一个字符串? curr是链表的开始。如果我添加一个国家并告诉计划打印它将打印该国家的信息。但是,如果我添加两个国家,它将只打印第一个国家。为什么我不能打印多个字符串?
void LinkedList::printList()
{
curr = head;
while (curr)
{
cout << "Country Name: " << curr->name << ", " << "Gold: " << curr->
gold << ", " << "Silver: " << curr->silver << ", " << "Bronze: " << curr->bronze << "\n";
curr = curr->next;
}
}
bool LinkedList::addCountry(string newName, int gold, int silver, int bronze) {
if (head == NULL)// Adding first element
{
head = new struct Country;
if (head == NULL) return false; // could not create head linked list country
head->name = newName;
head->gold = gold;
head->silver = silver;
head->bronze = bronze;
head->next = NULL;
return true;
} else {
curr = head;
while (curr) {
curr = curr->next;
}
curr = new struct Country;
if (curr == NULL)
return false;
curr->name = newName;
curr->gold = gold;
curr->silver = silver;
curr->bronze = bronze;
curr->next = NULL;
return true;
}
}
你确定第二个正确结束在列表中? – tkausl
@AndrewL不,你不需要那个。 –
我们可以看到如何将字符串添加到链接列表中? –