链表打印问题
Linked List Printing Issue
我试图通过 void 函数打印出两个列表,但我得到的只是输出的空白。列表在没有 void 函数的情况下打印正常,但我想了解为什么会发生这种情况。谢谢。
附言请忽略合并列表功能。这是针对我正在处理的问题的另一部分。
#include <iostream>
using namespace std;
struct Node {
int data;
Node *link;
};
typedef Node* NodePtr;
void headInsert(NodePtr& head, int the_number);
NodePtr mergeLists(NodePtr& firstList, NodePtr& secondList);
void outputList(NodePtr head);
int main()
{
NodePtr firstHead, secondHead;
headInsert(firstHead, 9);
headInsert(firstHead, 7);
headInsert(firstHead, 5);
headInsert(firstHead, 3);
outputList(firstHead);
headInsert(secondHead, 8);
headInsert(secondHead, 6);
headInsert(secondHead, 4);
headInsert(secondHead, 2);
outputList(secondHead);
//combinedList = mergeLists(firstHead, secondHead);
return 0;
}
void headInsert(NodePtr& head, int number)
{
NodePtr temp;
temp = new Node;
temp->data = number;
temp->link = head;
head = temp;
}
NodePtr mergeLists(NodePtr& firstList, NodePtr& secondList)
{
NodePtr mainList, iter;
for(iter = firstList; iter != NULL; iter = iter -> link)
headInsert(mainList, iter->data);
for(iter = secondList; iter != NULL; iter = iter -> link)
headInsert(mainList, iter->data);
return mainList;
}
void outputList(NodePtr head)
{
for(NodePtr iter = head; iter != NULL; iter = iter -> link)
cout << iter->data << " ";
cout << endl;
}
据
我所知,我没有看到 firstHead、secondHead 为 NULL 的任何初始化,因此它们永远不会为 NULL 以停止您的 for 循环。我添加了以下行:
firstHead = secondHead = NULL;
在主函数中声明第一头和第二头之后,它似乎有效。希望有帮助
相关文章:
- 打印时有二叉树问题.用户输入不打印任何内容
- 打印问题.我在数组中打印值时遇到一些问题
- 我的问题是关于C++中数字和序列的重复以及如何打印它们?
- 在C++中打印对的优先级队列的所有值时出现问题
- C++正确书写和打印复数精度 (cout) 的问题?
- 打印系列时循环出现问题
- 问题导致程序停止响应,并且姓氏未正确打印
- 使用 fstream 库并在屏幕上打印的文件有问题?
- 数组打印"random"值时出现问题
- 面临在 if 语句之外打印变量数据的问题 完成使用 Qt 编程
- 面对迭代矢量<矢量<string>>和打印数据的问题
- 有没有办法用单行逻辑代码打印金字塔星形图案?面试官向我的朋友问了这个问题
- 按列打印二维数组时出现问题
- 这个随机字符串打印代码有什么问题?
- 打印较大的字符串时遇到问题 C++
- 我在编写从文本文件中读取数据并按升序打印的代码时遇到问题
- Arduino:覆盖打印类问题
- C++代码不打印信息,有什么问题?
- 使用队列和列表 STL 进行C++分配。在将数据填充到列表或队列中然后打印该数据时遇到问题
- C++类和函数的问题-打印2D数组的函数