根据所学线性链表的基础知识,完成线性链表插入数据功能的程序编写并通过所有测试用例
时间: 2024-09-30 16:05:23 浏览: 61
线性链表是一种基础的数据结构,它由节点组成,每个节点包含数据和指向下一个节点的指针。在C++中,我们可以创建一个简单的链表节点类(Node),以及一个链表类(LinkedList)来实现插入操作。这里是一个基本的示例:
```cpp
// 定义链表节点
class Node {
public:
int data;
Node* next;
// 构造函数
Node(int val) : data(val), next(nullptr) {}
};
// 链表类
class LinkedList {
private:
Node* head; // 头节点
public:
LinkedList() : head(nullptr) {}
// 插入数据到链表尾部
void insert(int value) {
if (head == nullptr) {
head = new Node(value);
} else {
Node* current = head;
while (current->next != nullptr) {
current = current->next;
}
current->next = new Node(value);
}
}
// 打印链表遍历检查
void display() {
Node* temp = head;
while (temp != nullptr) {
std::cout << temp->data << " ";
temp = temp->next;
}
std::cout << "\n";
}
};
```
这个例子中,`insert`方法接受一个值并将其添加到链表的末尾。如果链表为空,则直接将新节点设为头节点;否则,遍历链表直到找到最后一个节点,然后在其后插入。
为了验证这个功能,你可以编写一些测试用例,例如:
```cpp
int main() {
LinkedList list;
list.insert(1); // 插入第一个元素
list.insert(2);
list.insert(3);
std::cout << "Insertion test:\n";
list.display();
// 更多测试...
return 0;
}
```
运行这段代码后,你会看到链表按照插入顺序显示出来。
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20250102104920.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)