【C语言链表CPP】 - 实现一个简单的单向链表
单向链表是一种数据结构,其节点通过指向下一个节点的指针链接在一起。它相比于数组等线性结构,具有更好的灵活性和动态性。
接下来我们将通过C++语言来实现一个简单的单向链表,并对其基本操作进行详细介绍。
首先,我们需要定义一个链表节点的结构体。它包含一个整型数据成员和一个指向下一个节点的指针成员。
struct ListNode {
int val;
ListNode* next;
ListNode(int x) : val(x), next(nullptr) {}
};
其中,val
表示节点存储的数据,next
表示指向下一个节点的指针,初始化时要置为nullptr
。
接下来,我们需要定义一个链表类。它包含一个指向头节点的指针成员。
class LinkedList {
private:
ListNode* head;
public:
// 构造函数
LinkedList() : head(nullptr) {}
// 在链表头部插入一个节点
void insertAtHead(int val) {
ListNode* node = new ListNode(val);
node->next = head;
head = node;
}
// 在链表尾部插入一个节点
void insertAtTail(int val) {
if (!head) {
insertAtHead(val);