[問題] 請問用氣泡排序法來排序字串的問題。

看板C_and_CPP作者 (Gray wolf)時間14年前 (2010/05/09 01:22), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
遇到的問題: (題意請描述清楚) Coding: http://nopaste.csie.org/439a6 想知道程式碼第22行for loop的判斷條件j<n-1, 為什麼此處寫j<n就會出錯呢?因為在a[j+1]這邊會出問題嗎?會讀不到字串的意思嗎? 此處的判斷條件是否有更佳的寫法呢? 自己有爬了版上關於氣泡排序法的文章,有看到網友建議寫j<n-i-1, 請問這樣寫是指將可越來越減少每次比較兩字串的次數嗎? 以達到更便捷的效果?是這樣嗎? 因為自己想過後還是有些不確定,故來版上詢問。 希望得到的正確結果: 能夠正確排序出所有字串,且寫得更漂亮些or更簡潔點。 程式跑出來的錯誤結果: 目前應該是可正常顯示想要的結果,但希望能有更好的寫法或得到一些建議。 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) Dev-C++ ; Windos XP SP3. 有問題的code: (請善用置底文標色功能) Coding: http://nopaste.csie.org/439a6 補充說明: 懇請大家請教了,謝謝。 :) -- 整個程式都是我的咖啡館, my coding, my caf'e. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.59.221.185 ※ 編輯: shieldsky 來自: 61.59.221.185 (05/09 01:23)

05/09 01:27, , 1F
當j == n-1的時候讀到a[n]就錯了
05/09 01:27, 1F

05/09 01:44, , 2F
增加一個參數, 傳負責比較的函式位址進去, 可以改變排
05/09 01:44, 2F

05/09 01:44, , 3F
序的行為
05/09 01:44, 3F
文章代碼(AID): #1BvPtg_9 (C_and_CPP)