第7课 - 线性表的顺序存储结构

第7课 - 线性表的顺序存储结构

1. 顺序存储定义

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

  

  根据上面的定义,在 C 语言中可以用一维数组来实现顺序存储结构:

#define MAXSIZE  xx         /* xx为存储空间初始分配量 */
typedef int ElemType;       /* ElemType类型根据实际情况而定,这里假设为int */

typedef struct _tag_List
{
	ElemType node[MAXSIZE];     /* 数组存储数据元素,最大值为MAXSIZE */
	int length;                 /* 线性表当前长度 */
} List;

  这里,我们就发现描述顺序存储结构需要三个属性:

    • 存储空间的起始位置:数组 node,它的存储位置就是存储空间的存储位置
    • 线性表的最大存储容量:数组长度 MaxSize
    • 线性表的当前长度:length

2. 顺序存储结构的基本操作

2.1 获取元素操作

2.2 插入元素操作

2.3 删除元素操作

3. 创建可复用顺序线性表

4. 小结

  (1)顺序线性表的优点

    • 无需为线性表中的逻辑关系增加额外的空间
    • 可以快速的获取表中合法位置的元素  

  (2)顺序线性表的缺点

    • 插入和删除操作需要移动大量元素
    • 当线性表长度变化较大时难以确定存储空间的容量

    

posted @ 2018-07-01 20:00  Hengs  阅读(274)  评论(0编辑  收藏  举报