最下面的是堆排序算法的總體 初始建堆后 用了個(gè)for循環(huán) for(i=len;i>1;i-1) 這里i表示表長(zhǎng) 以及元素個(gè)數(shù) 后面調(diào)用了headadjust函數(shù) 但是headadjust函數(shù)里面不是也有個(gè)for循環(huán) 判斷條件也是用i來判斷 調(diào)用一次headadjust之后 回到最先的表示表長(zhǎng)的for循環(huán) i不就變了嗎?怎么回事呢 如果把這兩個(gè)for里面的i其中一個(gè)換成j應(yīng)該就沒問題了吧
1 回答

墨色風(fēng)雨
TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個(gè)贊
注意這圖上說得很清楚,這是“算法”,并不是“代碼”,這兩者是有區(qū)別的。前者強(qiáng)調(diào)的是解決問題的方法,而對(duì)諸如變量聲明等細(xì)節(jié)予以忽略。有的代碼其中還可以包含“偽代碼”。
再說這不同函數(shù)中的變量,一般應(yīng)認(rèn)為是不同的變量(雖然它們沒有聲明,但應(yīng)當(dāng)為是局部變量,循環(huán)控制變量,沒有理由認(rèn)為它們是全局變量的,而且也沒有相應(yīng)全局變量的聲明?。?。
如果把這兩個(gè)for里面的i其中一個(gè)換成j應(yīng)該就沒問題了。這樣理解也可以的。
添加回答
舉報(bào)
0/150
提交
取消