c++用单链表实现头插法建表、尾插法建表
时间: 2024-09-22 22:10:21 浏览: 45
在 C++ 中,使用单链表实现头插法(push front)和尾插法(push back)建表是非常基础的操作,下面分别简单描述这两种方法:
**头插法(Push Front)建表**:
```cpp
struct Node {
int data;
Node* next;
};
class LinkedList {
private:
Node* head;
public:
LinkedList() : head(nullptr) {}
// 头插法插入元素
void pushFront(int value) {
Node* newNode = new Node();
newNode->data = value;
newNode->next = head;
head = newNode;
}
};
```
在这个实现中,我们首先创建一个新的节点 `newNode`,然后设置其数据域 `data` 为给定值,将 `next` 指针指向当前的头结点,最后更新头结点为新节点。
**尾插法(Push Back)建表**:
```cpp
void pushBack(int value) {
Node* newNode = new Node();
newNode->data = value;
if (head == nullptr) { // 如果链表为空,直接设置头尾
head = newNode;
} else {
Node* temp = head; // 遍历到最后一个节点
while (temp->next != nullptr) {
temp = temp->next;
}
temp->next = newNode; // 将新节点接到尾部
}
}
```
这个操作会遍历链表直到找到尾节点,然后将其 `next` 指向新的节点,完成添加。
阅读全文