c加加的链表简单代码
时间: 2023-07-25 21:15:07 浏览: 74
以下是一个简单的 C++ 链表实现示例:
```cpp
#include <iostream>
using namespace std;
// 链表节点结构体
struct ListNode {
int val;
ListNode* next;
// 构造函数
ListNode(int x) : val(x), next(NULL) {}
};
// 遍历链表
void traverse(ListNode* head) {
ListNode* p = head;
while (p) {
cout << p->val << " ";
p = p->next;
}
cout << endl;
}
// 插入节点
void insert(ListNode* &head, int x) {
ListNode* newNode = new ListNode(x);
if (!head) {
head = newNode;
return;
}
ListNode* p = head;
while (p->next) {
p = p->next;
}
p->next = newNode;
}
// 删除节点
void remove(ListNode* &head, int x) {
if (!head) {
return;
}
ListNode* p = head;
ListNode* pre = NULL;
while (p) {
if (p->val == x) {
if (!pre) {
head = p->next;
} else {
pre->next = p->next;
}
delete p;
return;
}
pre = p;
p = p->next;
}
}
int main() {
ListNode* head = NULL;
insert(head, 1);
insert(head, 2);
insert(head, 3);
traverse(head);
remove(head, 2);
traverse(head);
return 0;
}
```
这个示例实现了链表的基本操作,包括插入节点和删除节点,同时也包括了遍历链表的操作。
阅读全文