顺序表的基本操作
顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改等基本操作。
静态分配
typedef struct {
ElemType data[MaxSize];//定义的数组用来存元素
int length;//当前顺序表中有多少个元素
}SqList;
插入
//i代表插入的位置,从一开始,e要插入的元素
bool ListInsert(SqList& L, int i, ElemType e)
{
if (i<1 || i>L.length + 1)//判断要插入的位置是否合法
return false;
if (L.length >= MaxSize)//元素存储满了,不能再存了
return false;
for (int j = L.length; j >= i; j--)//移动顺序表中的元素
L.data[j] = L.data[j - 1];
L.data[i - 1] = e;//数组下标从0开始,插入第一个位置,访问的下标为0
L.length++;
return true;//走到这里代表插入成功,返回true
}
删除
bool ListDelete(SqList& L, int i, ElemType& e)
{
if (i<