数据结构顺序表问题
voidlistdelete(......){p=&(l.elem[i-1]);e=*p;q=l.elem+l.length-1;for(++p;p<=q;++p)*(p...
void listdelete(......)
{
p=&(l.elem[i-1]);
e=*p;
q=l.elem+l.length-1;
for(++p;p<=q;++p) *(p-1)=*p;
--l.length;
}这个是书上例举的删除顺序表中第i个元素的算法,但是我觉得的虽然他删除了第i个元素但是他最后一个元素还是存在这并占用这内存啊。
还有算法
void destroy(。。。。)
delete[]l.elem;
l.listsize=0;
l.length=0;
}同样的问题,我觉得他虽然释放了l.elem的所占的内存但l.listsize和l.length还是占用着内存存储着数字0.并没有完全销毁顺序表;请问我的看法是否正确,求教啊。 展开
{
p=&(l.elem[i-1]);
e=*p;
q=l.elem+l.length-1;
for(++p;p<=q;++p) *(p-1)=*p;
--l.length;
}这个是书上例举的删除顺序表中第i个元素的算法,但是我觉得的虽然他删除了第i个元素但是他最后一个元素还是存在这并占用这内存啊。
还有算法
void destroy(。。。。)
delete[]l.elem;
l.listsize=0;
l.length=0;
}同样的问题,我觉得他虽然释放了l.elem的所占的内存但l.listsize和l.length还是占用着内存存储着数字0.并没有完全销毁顺序表;请问我的看法是否正确,求教啊。 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询