数据结构的一道程序题,这个函数的功能是什么。

voidfun1(SeqList*L,intx){inti,j;for(i=L->last-1;i>=0;i--)if(L-data[i]==x){for(j=i+1;j... void fun1 (SeqList*L , int x)
{int i , j ;
for( i=L->last-1 ; i>=0 ; i--)
if(L-data[i]==x)
{for( j=i+1; j<=L->last-1; j++)
L->data[ j-1 ]=L->data[ j ];
L->last--;
}
}
第一个for循环是后序遍历的意思吧?第二个for循环是什么意思,还有最后L->last--是什么意思?
展开
 我来答
bdghzrn0ea7
2017-09-01 · TA获得超过5212个赞
知道大有可为答主
回答量:2320
采纳率:87%
帮助的人:552万
展开全部
第二个for循环是把data[i]删除掉
后面的数据都向前移动
所以data的个数last【注】要减少
这个函数的作用就是:
在顺序表L找x
如果有就删掉最后一个
.
【注】这个变量名last英文用得很糟
会使人误解为最后一个(last)的下标
美国人看这段代码会觉得很奇怪的
应该改为count(个数)才名副其实
正确的英文用法是last=count-1
作者的思维混乱了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式