数据结构-线性表1

顺序表

顺序链表就像数组一样,创建链表时分配的空间已经是订好的了。大小为每一个Elem的大小×Elem个数。不支持动态分配(貌似也可以但是算法性能会下降)。

内存分配

分配内存时,是以区块来分配的,一分就分一大块。大小为每一个Elem的大小×Elem个数。不支持动态分配(貌似也可以但是算法性能会下降)。

功能

查找Elem很简单,只需要像数组一样用下标来表示就可以了。比如:

Q.base[Q.rear] = e;

优点与缺点

这种顺序链表最大的好处就是查找数据非常快,不适合经常要插入和删除的程序,对于查找,时间复杂度为O(1),插入和删除为O(n)。

顺序链表不适合插入删除,以及分配内存时一大块一大块分配会导致内存碎片的出现。这种碎片的出现原理与磁盘碎片的产生原理大致相同


单链表

还有一种链表叫做单向线性链表,简称单链表。

组成,特点

单链表不想顺序链表一样,每一个Elem是紧挨着的,它的位置在内存中是不确定的。每一个Elem由两部分组成,一个叫做指针域,一个叫做数据域。指针域用于存放指向下一个Elem的指针,如果是单链表的话就只有一个,一般叫做next,如果是双链表的话就有两个。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值