虽然循环在我的链表中不起作用
While loop wont work in my Linked List
my while 循环在我的链表中不起作用,但 for 循环会,我正在使用 for 循环来打印链表。但是我需要一个整数来放置"n"。我正在尝试通过计算链表中的元素来做到这一点,我需要一段时间循环。因为当这个问题得到修复时,我首先不需要 for 循环,我只想在计算链表中的元素时尝试让它工作。
int count = 0;
Hand *crdNode = head;
while (crdNode != NULL)
{
crdNode= crdNode->cardPtr;
count++;
}
cout<<endl;
return count;
这一切都在 main 以外的单独源文件中的函数中。任何帮助将不胜感激。
工作回路:
Hand *crdNode = head;
for (int i = 0; i < n; i++)
{
cout<< crdNode ->card<<endl;
crdNode= crdNode->cardPtr;
}
cout<<endl;
填充列表功能
if (head == NULL)
{
crdNode = new Hand;
crdNode ->card = t;
temp = crdNode;
head = crdNode;
}
else
{
crdNode = new Hand;
crdNode -> card = t;
crdNode -> cardPtr = head;
head = crdNode;
crdNode -> cardPtr = NULL;
}
问题出在您的"填充列表"上
if (head == NULL)
{
crdNode = new Hand;
crdNode ->card = t;
crdNode -> cardPtr = NULL; // Add this line to set the next pointer
// temp = crdNode; Remove this line - temp isn't used
head = crdNode;
}
else
{
crdNode = new Hand;
crdNode -> card = t;
crdNode -> cardPtr = head;
head = crdNode;
// crdNode -> cardPtr = NULL; Remove this line - it destroys the list
}
然后可以重写和简化代码,如下所示:
crdNode = new Hand;
crdNode -> card = t;
crdNode -> cardPtr = head;
head = crdNode;
只需在 while 循环中添加一个条件即可插入"n"。while 循环如下所示:
while(crdNode!=NULL)
{
if(position==count)
{
//insert code
}
}
相关文章:
- 禁用地址共享注册表不起作用
- 双链表的自定义实现不起作用(教育)
- 针对静态库的 G++ 链接不起作用
- 为什么我的打印功能不起作用?链表
- 双链表堆栈删除函数不起作用
- 如果使用 QToolTip::showText,则 QToolTip 样式表不起作用
- 使用链表.为什么我的插入功能不起作用?
- 模板外部链接不起作用
- 与LLVM LLD链接不起作用[MACOS]
- 虽然循环在我的链表中不起作用
- 返回值上的 C++ 方法链接不起作用
- 删除链表节点,C++函数不起作用
- 如何获取链表中的所有"next"节点?构建调用字符串不起作用
- Boost Logger静态链接:不起作用
- cocos2d android编译时链接不起作用
- 为什么这个链表不起作用?
- c++中的动态链接不起作用
- 链表不起作用(c++)
- g++:静态链接不起作用
- 生成文件链接不起作用(尽管没有错误消息)