本题要求写出输出单链表所有元素的子函数。 该程序实现将两个单链表归并为一个按元素值递减次序排列的单链表,并利用原来两个单链表的结点存放归并后的单链表。 【本题只是要求打印输出单链表所有元素】,并非求单链表的合并。
时间: 2024-10-10 11:00:24 浏览: 16
小白算法积累——单链表15#2个带头结点单链表+提取公共元素+二表合一
为了实现这个功能,你需要编写一个遍历单链表并将节点元素依次输出的子函数。假设我们有一个名为`ListNode`的结构体,代表链表中的每个节点,它包含一个整数值`val`和指向下一个节点的指针`next`。
```cpp
// 假设已经定义了ListNode和NodePtr(指向ListNode的指针)
class PrintList {
public:
// 定义一个辅助函数,用于打印链表元素
void printList(NodePtr head) {
if (head == nullptr) { // 如果链表为空
std::cout << "链表为空" << std::endl;
return;
}
NodePtr current = head; // 初始化当前节点
while (current != nullptr) { // 当前节点不为空
std::cout << current->val << " "; // 输出当前节点的值
current = current->next; // 移动到下一个节点
}
std::cout << std::endl; // 打印换行符,表示一行结束
}
};
int main() {
PrintList pl;
// 这里假设你已经有了两个单链表的头节点,可以调用pl.printList(head1)和pl.printList(head2)
// 分别打印出两个链表的元素
return 0;
}
```
这个`printList`函数会按照顺序遍历链表,直到遇到`nullptr`为止。如果你有两个链表需要打印,只需分别调用这个函数即可。注意,在实际操作中,你可能还需要处理链表合并的操作,但这不是你目前所问的问题。
阅读全文