单链表及相关内容
2024-04-14 17:17:23
发布于:北京
汇总
指针
保存内存地址
数组
优点:方便查找
缺点:删除和插入不方便,浪费时间
单链表
优点:不浪费空间
缺点:改查不方便
节点:包含数据域和指针域
数据域:包含数据
指针域:包含下一个结点的地址
头节点:数据域不保存数据
尾节点:指针域为空
动态申请内存空间:数据类型 指针变量=new 数据类型
访问链表内部成员:链表成员名->结构体部分=内容
空:NULL
大致代码:
struct node
{
int data;//数据域
node *next;//指针域
};
int main()
{
node *head,*r;//头节点和尾节点
head=new node;//动态申请内存空间给头节点
head->next=NULL;//把它的指针域设为空
r=head;//设为节点就是头节点
}
添加新节点:
承接上文
node *p;
int x;
while(cin>>x)//只要还输出就一直申请
{
p=new node;//动态申请内存空间给p
p->data=x;//p的数据域为x
p->next=NULL;//p的指针域为空
r->next=p;//r链接p
r=p;//p成为新的尾节点
}
删除p节点的下一个节点:
p->next=p->next->next;
在p节点后插入一个新节点:
s->next=p->next;
p->next=s;
尾节点=头节点的下一个节点(圆圈)
r->next=head->next;
能给个赞吗,累洗我咯
XMWK团队宣传单(赞助团队)
全部评论 1
优点和缺点我觉得说得不够好。数组是线性表,优点是改查方便,增删浪费的不是内存,二十时间。链表相反,增删方便,改查不方便。像你说的内存问题可以用离散化的方式来解决。
2024-04-07 来自
1已改正,感谢指导
2024-04-08 来自 北京
1
有帮助,赞一个