关于线性表删除元素的一点小问题?

StatusListDelete_Sq(SqList&L,inti,ElemType&e){if((i<1)||i>L.length))returnERROR;p=&(L... Status ListDelete_Sq(SqList &L,int i,ElemType &e)
{
if((i<1)||i>L.length)) return ERROR;
p=&(L.elem[i-1]);
e=*p;
q=L.elem+L.length-1;//表尾元素的位置
for(++p;p<=q;++p) *(p-1)=*p;
--L.length;
return OK;
}//ListDelete_Sq
1.ElemType &e 是指e的类型还是e的地址的类型?
2、e = *p这句,为什么要把删除的元素赋给e呀,直接覆盖不就行了?
3、q=L.elem+L.length-1 和 q = &L.elem[L.length - 1]一样的吧?
4、关于L.elem,删除一个元素之后,它的基址是什么情况呀,和原来的一样(对基址这玩意一点不知道…………)
展开
 我来答
红日滚滚
2010-10-09 · 超过31用户采纳过TA的回答
知道答主
回答量:82
采纳率:0%
帮助的人:79.1万
展开全部
1.ElemType &e 是指e的类型还是e的地址的类型?
答:是ElemType类型。&是指地址传递。

2、e = *p这句,为什么要把删除的元素赋给e呀,直接覆盖不就行了?
答:还记得e是一个地址传递的参数么?这句就是把原来p指向的值传出去。

3、q=L.elem+L.length-1 和 q = &L.elem[L.length - 1]一样的吧?
答:正确。

4、关于L.elem,删除一个元素之后,它的基址是什么情况呀,和原来的一样
答:和原来一样。没有变。变得只是L的长度而已。--L.length;这句。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式