顺序表的插入算法
#define OK 1
#define ERROR 0
int InsList(SeqList*L,int i,ElemType x)
//定义了函数Inslist,里面参数:顺序表L,整型变量i,要插入的元素x
{
int k;
if((i<1)||(i>L-length+1)) //判断要插入的位置i是否合法
{
cout<<"插入位置i不合法";
return(ERROR);
}
if(L->length>=maxsize-1) //判断表是否已满
{
cout<<"表已满无法插入";
return(ERROR);
}
for(k=L->length;k>=i;k--) //for循环开始插入,从最后一个元素开始往后移一位,到i停止
L->elem[k+1]=L->elem[k];
L->elem[i]=x; //x写在空出的位置上
L->length++; //表长加一
return(OK)
}
网友评论