Status ListInsert(SqList &L, int i, ElemType e){ // 算法2.4
// 初始条件:顺序线性表L已存在,1≤i≤ListLength(L)+1
// 操作结果:在L中第i个位置之前插入新的数据元素e,L的长度加1
ElemType *newbase, *q,*p;
if(i<1 || i>L.length + 1){ // i值不合法
return ERROR;
}
if(L.length>=L.listsize)//当前存储空间已满, 增加分配
{
if (!(newbase=(ElemType *)realloc(L.elem,(L.listsize+LIST_INCREMENT)*sizeof(ElemType))))
exit(OVERFLOW); // 存储分配失败
L.elem = newbase; // 新基址
L.length = L.listsize+LIST_INCREMENT;// 增加存储容量
}
q = L.elem + i - 1; // q为插入位置
// p和q指针可以比较大小
for(p=L.elem + L.length-1; p>=q; p--) // 插入位置及之后的元素后移
*(p+1) = *p;
*q = e; // 插入e
++L.length; // 表长增1
return OK;
}
最后
以上就是怕黑小懒虫最近收集整理的关于C六:指针可以比较大小的全部内容,更多相关C六内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复