线性表的顺序存储结构-创新互联

线性表从物理结构上分,有两种存储结构,一种是顺序存储结构,另一种是链式存储。这里呢,先讲一下顺序存储,毕竟,这种存储方式比较简单。

创新互联建站自2013年起,先为龙湖等服务建站,龙湖等地企业,进行企业商务咨询服务。为龙湖企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

  那么什么是顺序存储结构呢?以下,是书中关于线性表顺序存储的标准定义:

线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。

        通过这段标准定义,可以很容易的想到,顺序存储就是通过数组这样的线性存储结构来存放相关元素。因为,数组就是一段地址连续的存储单元。

        那么关于顺序存储结构,有哪些注意点呢?

 1.存储空间大小即数组大长度。很明显,为了能够存储够相关的元素,一定要有适当的空间(MAXSIZE)。

 2.存储位置。存储空间是一段连续的地址,所以,数组的首地址就是该线性表的存储位置(data)。

 3.当前线性表的长度(length)。

以下,线性表的顺序存储结构代码:

#define MAXSIZE 20              //the max length of the list

typedef int ElemType;

struct SqList{
    
    ElemType data[MAXSIZE];
    int length; 

};

 关于数组长度与线性表长度。数组长度指的是能够存储元素的大的空间量的多少,这个值是个常量,它是不变的。而线性表长度,指的是,当前线性表的元素的个数,它是一个可以变化的量。

 既然线性表的元素是借助数组来做的存储。那么,就不得不注意元素的地址。在内存中,每一块内存都有相应的地址编码来标识这块区域。并且,在数组中,第一个元素的下标位置为0,因为数组中的计数是从0开始的。也就是说,第i个位置的元素,其在数组中的存储位置为i-1。并且,由于不同的数据类型所占用的地址不同。在32位计算机中,int类型的数据占4个字节,char类型的数据占1个字节。假设,数组的数据类型是int型,那么,数组中的每一个元素都是int型的,也就是,每一个元素所占地址大小都是4字节。那么获取第i+1个元素的地址,为:LOC(ai+1) = LOC(ai) + 4;若数组的数据类型为c类型,那么第i+1个元素的地址为:LOC(ai+1) = LOC(ai) + c。

所以,对于,第i个数据元素ai的存储位置可以由a1推算得出:LOC(ai) = LOC(a1) + ( i - 1 ) * c。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站名称:线性表的顺序存储结构-创新互联
URL分享:http://myzitong.com/article/hipoi.html