下面,小编将详细介绍一下线性表的顺序存储与链接存储的基本运算
首先是顺序存储---
顺序存储实现的线性表称为顺序表
顺序表的插入和删除操作
插入代码
//顺序表插入元素
void InsertSeqlist(SeqList L,DataType x,int i)
//将元素x插入到顺序表L的第i个数据元素之前
{
if(L.length==Maxsize) exit("表已满");
if(i<1||i>L.length+1) exit("位置错");//检查插入位置是否合法
for(j=L.length;j>=i;j--) //初始j=L.length
L.data[j]=L.data[j-1]; //依次后移
L.data[i-1]=x; //元素x置入到下标为i-1的位置
L.length++; //表长度+1
}
删除代码
//顺序表删除元素
void DeleteSeqList(SeqList L,int i)
//删除线性表L中的第i个数据结点
{
if(i<1||i>L.length) //检查位置是否合法
exit("非法位置");
for(j=i;j<L.length;j++) //第i个元素的下标为i-1
L.data[j-1]=L.data[j]; //依次左移
L.length--; //表长度减一
}
小结:
顺序表的插入和删除操作相对于来说还是很简单的,在这里,我他们简单的分为三个步骤:
首先,我们需要判断插入和删除是否合法(插入时---如果表已满,不能插入,同时也不能插入到超出表范围的元素;删除时---不能删除超出表范围的元素);
然后,在相应的位置进行插入或者删除操作;
最后,插入元素的表长度加1,删除元素的表长度减1
结束。