建立线性链表c++
时间: 2023-07-01 22:20:12 浏览: 108
可以参考如下代码实现一个基本的线性链表(单向):
```c++
#include <iostream>
using namespace std;
// 定义链表节点结构体
struct ListNode {
int val; // 节点存储的值
ListNode *next; // 指向下一个节点的指针
ListNode(int x) : val(x), next(NULL) {} // 构造函数
};
// 定义链表类
class LinkedList {
private:
ListNode *head; // 链表头节点指针
public:
LinkedList() { // 构造函数
head = NULL;
}
void insert(int val) { // 插入节点
if (head == NULL) { // 如果链表为空,则新建头节点
head = new ListNode(val);
} else { // 否则在链表尾部插入新节点
ListNode *cur = head;
while (cur->next != NULL) {
cur = cur->next;
}
cur->next = new ListNode(val);
}
}
void print() { // 打印链表
ListNode *cur = head;
while (cur != NULL) {
cout << cur->val << " ";
cur = cur->next;
}
cout << endl;
}
};
int main() {
LinkedList *list = new LinkedList(); // 创建链表对象
list->insert(1); // 插入节点
list->insert(2);
list->insert(3);
list->print(); // 打印链表
return 0;
}
```
上述代码定义了一个链表节点结构体 `ListNode`,包含一个整型值 `val` 和一个指向下一个节点的指针 `next`。链表类 `LinkedList` 包含一个头节点指针 `head`,并实现了插入节点和打印链表的方法。在主函数中,创建链表对象 `list`,并插入三个节点,最后打印出链表的值。
阅读全文