c++语言单链表基本操作
时间: 2024-02-26 15:48:38 浏览: 83
C++单链表的基本操作
单链表是一种常见的数据结构,C++语言中可以通过定义结构体和指针来实现单链表的基本操作。以下是单链表的基本操作:
1. 定义单链表结构体
```c++
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
```
2. 创建单链表
```c++
ListNode* createList(vector<int>& nums) {
ListNode *head = new ListNode(0);
ListNode *p = head;
for (int i = 0; i < nums.size(); i++) {
ListNode *node = new ListNode(nums[i]);
p->next = node;
p = p->next;
}
return head->next;
}
```
3. 遍历单链表
```c++
void traverseList(ListNode *head) {
ListNode *p = head;
while (p != NULL) {
cout << p->val << " ";
p = p->next;
}
}
```
4. 插入节点
```c++
void insertNode(ListNode *head, int val) {
ListNode *p = head;
while (p->next != NULL) {
p = p->next;
}
ListNode *node = new ListNode(val);
p->next = node;
}
```
5. 删除节点
```c++
void deleteNode(ListNode *head, int val) {
ListNode *p = head;
while (p->next != NULL) {
if (p->next->val == val) {
ListNode *temp = p->next;
p->next = p->next->next;
delete temp;
return;
}
p = p->next;
}
}
```
阅读全文