顺序表的插入算法

顺序表的插入算法

#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)
}

你可能感兴趣的:(顺序表的插入算法)