数据结构:顺序表与单链表区别

本文探讨了顺序表与单链表的主要区别,以不定长顺序表和带头结点的单链表为例。顺序表采用连续存储,插入删除操作可能导致大量元素移动;而单链表的存储不连续,插入删除操作更灵活,只需改变指针即可。
摘要由CSDN通过智能技术生成

顺序表与单链表区别(以不定长顺序表和带头结点单链表为例)

不定长顺序表:

在这里插入图片描述
单链表(带头结点):

在这里插入图片描述

线性表分为顺序表和链表
顺序表:
1.顺序存储,必须占用一片连续存储单元;
可将顺序表简单理解为数组,其空间是连续的储存单元。 elem是指向顺序表内存地址的指针,listsize是顺序表总大小,length为当前存放有效数据个数。若在末尾插入数据8,只能在下标4处插入,不能中间空几个存储单元插入数据。
2.不便插入删除数据(插入删除位置及后面数据需要均向后或前移动一位),除了尾插尾删(不用移动);
例如在上图下标2处插入数据10,需要先将下标2以及后面所有数据均往后移一个位置,把下标2出空出来,再插入10,时间复杂度为o(n)。
同理若删除下标2的值,只需将下标2后面的值均往前移一位(下标2的值5直接被覆盖),时间复杂度o(n)。

单链表:
1.链接存储,不必占用一片连续存储单元;
顺序表空间连续,可以通过下标互相寻找数据。而链表每个数据位置不一定连

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值