赞
踩
首先我们说线性表(顺序表和链接表的统称):
线性表是什么?它是某类元素的一个集合,而且它还表示这个元素集合中各种元素的一种顺序关系,对于两种模式的线性表,区别在于这种关系的表示上的不同。
顺序表:将元素按顺序的存放在一个连续的存储区中,各个元素的顺序关系就是由他们的存储关系表示的。
链接表:元素存放在由链接构造起来的一系列存储块中,也就是说,各个元素的存储块并不是连续的,它们之间的联系由元素之间的链接实现的
接下来讲的是顺序表
顺序表各个元素之间的逻辑关系是由它们的存储关系表示的,两个元素的存储块相连续。对于顺序表中所存储的元素,可能元素类型相同,这时只用为个元素安排大小相同且连续的存储块;但是也可能一个顺序表中所存放的元素的类型不同,这时的顺序表的实现就采用标识连续存储,实际数据各有各的位置,这是一种很简单的索引结构(通过在连续存储块中放实际数据的索引,而实际数据则存放在各自独立的块中)。
对于tuple,不可改变,所以其存储空间固定采用一体式结构;但对于list,它大小可变,怎么实现的呢?当然是采用**分离式的结构!**分离式结构就是list对象存放本身的容量,元素个数和元素存储空间的索引,而元素实际的存储和对象是分离的。这样,当存储空间满了,就可以换一个存储空间,将已有元素复制过去,索引变一下,这个过程中list对象没有变发现没?
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。