链表(C++)

链表
链表的节点包括数据区和地址区(指向下一个节点)。
在这里插入图片描述

struct ListNode
{
	int data;
	ListNode *next;
	ListNode(int x) :data(x), next(NULL){}   //初始化
};
ListNode *head;
数据区:head->data
地址区:head->next

1)插入指定节点
从图1到图2:插入节点p
在这里插入图片描述
图1 原链表
在这里插入图片描述
图2 插入指定节点链表

p->next = head->next;
head->next = p;

2)删除指定数据
从图1到图2:删除节点p
在这里插入图片描述
图1 原链表
在这里插入图片描述
图2 删除指定节点链表
①定位到删除节点p的上一个节点head

head->next = head->next->next;

②不能定位到删除节点p的上一个节点head的情况

p->data = p->next->data;
p->next = p->next->next;

3)修改指定数据
在这里插入图片描述
修改节点p的data为a:

head->next->data = a

p->data = a;
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值