链表 - 移动到下一个节点
Linked List - Moving to the next node
所以我在关于坐在桌子旁的玩家的编程任务中遇到了一些麻烦。该程序应该能够在刚刚转弯的玩家之后添加玩家。该作业应该向我们展示如何在任何地方将数据添加到链表中。因此,当我使用 PLAY 命令时,会出现我的问题。这应该允许单个玩家轮流。
例如,如果有玩家 A、B 和 C,并且执行了 PLAY 命令,它将向控制台显示"玩家 A 轮流"。如果再次执行 PLAY,它将显示"玩家 B 轮流"。
我的代码允许列表中的第一个玩家播放,但不会移动到下一个节点/玩家。
void CircleList::play()
{
LinkedListOfPlayersNode *p=(*pFront).pNext;
if (p->pData!=NULL)
{
cout<<p->pData->getName()+" takes a turnn";
p-> pNext; //My attempt to move to the next node.
}
else
{
cout<<"There are no players. Please ADD a player.n";
}
}
所以这显然是行不通的。有人可以向我解释一下我将如何转移到下一个球员吗?
PS - 代码在C++
您需要在班级中保留最后一个回合的玩家的成员。
class CircleList
{
//...
PlayerNode* pLastPlayer;
};
最初,它设置为 pFront
并且每次调用play
时都会将其移动到下一个玩家。
void CircleList::play()
{
//logic with pLastPlayer here
//at the end move it
pLastPlayer = pLastPlayer->next;
}
<</div>
div class="answers"> 行
p-> pNext; //My attempt to move to the next node.
不会将任何内容移动到下一个节点。您可能应该存储/分配p->pNext
某些东西。
相关文章:
- 重新定位图像时如何前进到下一个内存块
- 为什么C++对链表中的下一个节点使用指针,而像 C# 或 Java 这样的语言只使用类 Node 的名称?
- 用于在 C++ 中使用 while 循环查找下一个素数的简单函数
- CIN 仅在输入非数字值时跳过下一个 CIN
- 查找最小的下一个更大的元素
- 在C++的链表末尾插入一个节点
- 转到基于范围的 for 循环中的下一个迭代器
- 在单链表前面添加一个节点后,我无法遍历每个节点
- C++循环链表删除,计数从下一个节点开始
- 取消下一个节点的空链接列表的头
- 链表 - 移动到下一个节点
- 如何使运算符++继续到链表中的下一个节点指针
- 重载 + 运算符以模拟移动到下一个节点
- 双向链表节点的下一个是私有的
- 将下一个节点移回功能
- 只是尝试插入一个节点并将指针设置为下一个节点C++
- Boost XML - 获取下一个节点
- 转到下一个节点的C++链接列表错误
- 链表节点结构的第一个成员变量总是下一个节点
- 为链表中的节点分配内存,但出乎意料的是,它内部的下一个节点也被分配了