线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据结构,可以用一维数组来实现顺序存储结构。
描述这样一个数组需要三个属性,一个是数组本身,data[];一个是线性表的最大存储容量,即在内存中给这块内容安排多大的空间;还有一个是线性表的当前长度。
顺序表的存取很简单,只需要读取位置对应的数组值即可,需要注意的是线性表是从1开始的,数组是从0开始的,读取第i个位置的值实际读取的是data[i-1];
顺序表的插入操作思路是:
若插入位置不合理,抛出异常;
从最后一个元素到第i个元素都往后移一位;
把要插入的数赋值给第i个元素;
表长加一;
顺序表的删除操作思路是:
若插入位置不合理,抛出异常;
若有需要,先读取要删除元素的值;
删除位置的下一个元素到最后一个元素均向前移动一格;
表长减一;
实现代码:
#include<iostream>
#include<math.h>
#define maxsize 100//线性表的最大存储容量
using namespace std;
class list
{
public:
list()
{
length=0;//线性表当前长度
}
void init();//初始化线性表
void display();//输出线性表
void getelem();//查找元素
void insert();//插入元素
void Delete();//删除元素
private:
int length;//线性表的长度
int data[maxsize]; //线性表,顺序存储,