为了账号安全,请及时绑定邮箱和手机立即绑定

如下所示,大根堆的堆排序算法 for 循环 外循环 和内循环判断条件都含有i ?为什么呢?

如下所示,大根堆的堆排序算法 for 循环 外循环 和内循环判断条件都含有i ?为什么呢?

慕莱坞森 2021-06-02 10:07:49
最下面的是堆排序算法的总体 初始建堆后 用了个for循环 for(i=len;i>1;i-1) 这里i表示表长 以及元素个数 后面调用了headadjust函数 但是headadjust函数里面不是也有个for循环 判断条件也是用i来判断 调用一次headadjust之后 回到最先的表示表长的for循环 i不就变了吗?怎么回事呢 如果把这两个for里面的i其中一个换成j应该就没问题了吧
查看完整描述

1 回答

?
墨色风雨

TA贡献1853条经验 获得超6个赞

注意这图上说得很清楚,这是“算法”,并不是“代码”,这两者是有区别的。前者强调的是解决问题的方法,而对诸如变量声明等细节予以忽略。有的代码其中还可以包含“伪代码”。
再说这不同函数中的变量,一般应认为是不同的变量(虽然它们没有声明,但应当为是局部变量,循环控制变量,没有理由认为它们是全局变量的,而且也没有相应全局变量的声明啊)。
如果把这两个for里面的i其中一个换成j应该就没问题了。这样理解也可以的。

查看完整回答
反对 回复 2021-06-07
  • 1 回答
  • 0 关注
  • 340 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信