利用c++设计输出链表中所有数据元素的显示函数
时间: 2024-09-19 17:15:56 浏览: 42
在 C++ 中,设计一个遍历并输出链表中所有数据元素的显示函数通常涉及迭代或递归。这里是一个简单的示例,展示如何创建一个通用的 `displayList` 函数,它接受一个指向链表头节点的指针:
```cpp
#include <iostream>
// 定义链表节点结构体
struct ListNode {
int data;
ListNode* next;
ListNode(int val) : data(val), next(nullptr) {}
};
// 显示链表函数
void displayList(ListNode* head) {
if (head == nullptr) { // 如果链表为空,直接返回
std::cout << "链表为空。\n";
return;
}
// 使用 while 循环遍历链表
while (head != nullptr) {
std::cout << "当前元素: " << head->data << "\n";
head = head->next; // 移动到下一个节点
}
}
// 示例链表创建
ListNode* createLinkedList() {
ListNode* nodes = new ListNode{1};
nodes->next = new ListNode{2};
nodes->next->next = new ListNode{3}; // 更多节点添加...
return nodes;
}
int main() {
ListNode* list = createLinkedList();
displayList(list);
delete list; // 确保释放内存
return 0;
}
```
在这个例子中,`displayList` 函数首先检查链表是否为空,然后通过指针逐个访问每个节点,并打印其数据值。如果需要递归版本,可以考虑将递归调用替换当前的循环。
阅读全文