利用尾插法创建一个8个元素的整型数据的单链表,输入数据1,2,3,4,5,6,7,8,并在单链表的第三个元素的位置插入元素100,并输出单链表,用c++语言表达
时间: 2025-01-01 10:35:30 浏览: 13
在C++中,我们可以使用结构体表示节点,以及头指针来构建一个动态单链表。这里是一个简单的实现,包括尾插法创建链表、插入元素和输出链表:
```cpp
#include <iostream>
// 定义链表节点结构
struct ListNode {
int data;
ListNode* next;
ListNode(int val = 0) : data(val), next(nullptr) {}
};
// 尾插法添加节点
void insertAtThird(ListNode*& head, int value) {
if (!head || head->next == nullptr) { // 如果链表为空或只有一个元素
head = new ListNode(value);
} else {
ListNode* current = head;
while (current->next != nullptr && current->next->next != nullptr) {
current = current->next; // 遍历到倒数第二个元素
}
current->next = new ListNode(value); // 插入新节点
}
}
// 打印链表
void printList(ListNode* head) {
ListNode* temp = head;
while (temp) {
std::cout << temp->data << " ";
temp = temp->next;
}
std::cout << "\n";
}
int main() {
// 创建并初始化链表
ListNode* list = new ListNode();
insertList(list, 1);
insertList(list, 2);
insertList(list, 3);
insertList(list, 4);
insertList(list, 5);
insertList(list, 6);
insertList(list, 7);
insertList(list, 8);
// 在第三个位置插入100
insertAtThird(list, 100);
// 输出链表
printList(list);
delete list; // 清理内存
return 0;
}
```
在这个例子中,`main()`函数首先创建了一个空链表,然后依次插入给定的数据,最后在第三个位置插入100并打印链表。注意在程序结束前要记得释放分配的内存以避免内存泄漏。
阅读全文