概述
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六:指针可以比较大小所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复