Status ListInsert _Sq(SqList &L,int i ,ElemType e){ ①if(i<1 |I i> L.length+1) return ERROR; //i值不合法 ②if(L.length= =MAXSIZE) return ERROR; //当前存储空间已满③for(j=L.length-1j>=i-1;j--) L.elem[j+ 1=L.elem[j; //插入位置及之后的元素后移
时间: 2024-04-02 08:33:17 浏览: 107
算法描述-数据结构c语言版严蔚敏PPT
这是一个顺序表插入元素的函数,函数名为ListInsert,参数包括一个顺序表L、要插入的位置i和要插入的元素e。函数的返回值为一个状态码,如果插入成功则返回OK,否则返回ERROR。
函数的第一行进行了一个判断,如果i小于1或者大于L的长度加1,则说明插入位置不合法,直接返回ERROR。
第二行进行了另一个判断,如果顺序表L的长度已经达到了最大值MAXSIZE,则说明顺序表已满,不能再插入元素,直接返回ERROR。
第三行是一个for循环,从L的长度减1开始,逐个将插入位置及之后的元素后移,为新元素腾出空间。循环中的j表示当前要移动的元素的下标,j的初始值为L的长度减1,循环条件是j大于等于插入位置i减1,每次循环结束,j的值减1。
第四行是将要插入的元素e放入新腾出的位置L.elem[i-1]中,其中i-1是因为数组下标从0开始。
最后,函数返回OK,表示插入成功。
阅读全文