1.什么是顺序存储?
线性表的顺序存储结构指的是用一段地址连续的存储单元依次存储线性表的数据元素,这个存储单元中存相同数据类型的数据,可以不存满,但不能超过,可以用一维数组来实现顺序存储结构。
2.用什么描述顺序存储结构?
(1)存储空间的起始位置:数组data,它的存储位置就是存储空间的存储位置。
(2)线性表的最大存储容量:数组长度MaxSize。
(3)线性表的当前长度:length。
3.数据长度和线性表长度的区别?
数据的长度即数组的长度是存放线性表的存储空间的长度,存储分配后,这个量一般是不变的; 而线性表的长度是线性表中数据元素的个数,,随着线性表插入和删除操作的进行,这个量是变化的。
在任意时刻,线性表的长度应小于或等于数组的长度。
4.怎样计算地址?
假设某一数据元素占用c个存储单元,那么线性表中第i+1个数据元素的存储位置和第i 个数据元素的存储位置满足下列关系(LOC 表示获得存储位置的函数)
LOC(ai+1) = LOC(ai) + c,其中i ,i+1都是下标。
所以你第i个数据元素ai的存储位置可以由a1推算出:
LOC(ai)=LOC(a1)+(i-1)*c.
5.怎样获得一个元素?
如果要获得一个元素,比如要获得第i个元素,我们只要将线性表L中的第i个元素,只要获得它的地址就可以了。
6.顺序结构怎样进行插入操作?
(1)先判断插入的位置是否在线性表长度之内,不在,则输出插入位置异常。
(2)再判断线性表长度是否小于数组长度,若不小于,则输出异常或动态增加容量。
(3)一切正常后,从最后一个元素开始向前遍历到第i个元素,分别将它们都向后移动一个位置。
(4)最后将要插入的元素赋值给第i个元素,并且表长加1。
7.顺序结构怎样进行删除操作?
(1)首先要判断要删除的位置是否在线性表长度之内,不在,则输出删除位置异常。
(2)正常取出要删除的元素。
(3)从要删除的位置开始遍历到最后一个元素的位置,分别将它们都向前移动一个位置;
(4)表长减1。
8.线性表顺序存储结构有何优点?
(1)无须为表示表中元素之间的逻辑关系增加额外的存储空间;
(2)可以快速地存取表中任一位置的数据。
9.线性顺序存储结构有何缺点?
(1)插入和删除操作需要移动大量元素;
(2)当线性表长度变化较大时,难以确定存储空间的容量;
(3)造成存储空间的不连续。
10.什么是顺序存储方式?
在内存中的某一段空间中,把相同数据类型的数据元素依次存放在此段内存中。