6-2 创建带头结点的单链表(尾插法) 分数 10 作者 2003900024 单位 浙江万里学院 本题要求实现一个函数,根据输入的字符串用尾插法创建带头结点的单链表。
时间: 2024-10-24 14:02:26 浏览: 47
在C++中,创建带头结点的单链表通常需要定义一个链表节点结构体(Node),包含数据域和指向下一个节点的指针。对于尾插法(即每次在链表末尾插入新元素),你可以按照以下步骤实现一个名为`createLinkedList`的函数:
```cpp
#include <iostream>
using namespace std;
// 链表节点结构体
struct ListNode {
char data;
ListNode* next; // 指向下一个节点的指针
ListNode(char ch): data(ch), next(nullptr) {} // 构造函数,初始化值和next为nullptr
};
// 尾插法创建链表的函数
ListNode* createLinkedList(string str) {
ListNode* head = new ListNode(' '); // 初始化头结点,一般设置为空字符
ListNode* tail = head;
for (char c : str) {
tail->next = new ListNode(c); // 在尾部添加新节点
tail = tail->next; // 更新尾节点指针
}
return head;
}
int main() {
string input = "Hello, CSDN!";
ListNode* list = createLinkedList(input);
// ... 现在你可以遍历链表并打印数据
delete list; // 注意释放内存,防止内存泄漏
return 0;
}
```
在这个示例中,`createLinkedList`接受一个字符串作为参数,逐个字符地创建新的链表节点,并将它们连接到当前尾节点之后。最后返回的是链表的头结点。
阅读全文