關於遞歸的幾點注意

今天,用遞歸編了個快速排序,調試的時候,卻花費了大量的時間,還是大神幫我調了出來,就對整個過程做了一下總結:

1,遞歸,首先要有打破遞歸的循環條件,即又要對下一步遞歸的條件限制。

2、對於循環的時候(for ,while),一些人可能犯一些比較低級的錯誤,例如:for(),while(),的判定條件裏,用了一些a+=d,或a-=d,但是在循環裏,又會用到數組a[a+d]或,a[a-d],這樣就會導致的數組的越界,所以要格外注意。

3、對於基準點,有時排序的時候,你需要實現設置一個基準點,例如a[base],作爲一個基準點,但是在數組變換的時候,base值也可能會變化,這就導致了a[base]也發生了變化,失去了基準的意義,所以一般要設置一個臨時變量,來記住這一點,如temp=a[base].

發佈了21 篇原創文章 · 獲贊 4 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章