南风烟雨五庄观 发表于 2013-8-19 23:50:45

为何顺序线性表会造成存储空间碎片?

本帖最后由 南风烟雨五庄观 于 2013-8-20 06:37 编辑

小甲鱼在视频中提到"顺序线性表的缺点之一就是会造成存储空间碎片,因为申请内存是一块一块的,两块之间有碎片"。
我这句话不懂。
数组不是连续存储的吗?如果有碎片,怎么还可以通过下标来访问?



牡丹花下死做鬼 发表于 2013-8-20 00:17:28

甲鱼说的是链表啊

zZ_小春 发表于 2013-8-20 00:59:06

我也觉得应该是链表,因为数组不是连续存储的,要不就是申请了多个数组:titter:

zZ_小春 发表于 2013-8-20 01:00:54

我也觉得应该是链表,因为数组不是连续存储的,要不就是申请了多个数组:titter:

scuchx1 发表于 2013-8-20 01:09:33

我也不懂,坐等高手详细解释

Crazy迷恋. 发表于 2013-8-20 08:19:07

链表~~~~因为申请空间不是连续也无法对齐所以 内存中各个节点的数据都是比较“乱”因此会产生比较多的内存“缝隙”,这应该是传说中的碎片吧~~~其实我也是菜~~说错了别【拍砖】哈~~

南风烟雨五庄观 发表于 2013-8-20 08:33:05

呃,其实我现在是这么理解的,不知道对不对?
-- 数组会申请一大块内存,如果实际的元素容量超界,就会出现溢出。如果不超限,那么很可能不是恰好完全利用完这一块内存,而是留有小块空间。这完全取决于对该数组进行删除或插入操作的次数。插入太多会超界,删除太多又会浪费空间。


页: [1]
查看完整版本: 为何顺序线性表会造成存储空间碎片?