[問題] 氣泡排序法 陣列

看板C_and_CPP作者 (kk)時間14年前 (2011/11/10 16:14), 編輯推噓4(4022)
留言26則, 6人參與, 最新討論串1/2 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) DEV C 問題(Question): 我用兩個副程式 第一個呼叫氣泡排序FUNCTION 第二個交換FUNCTION 請問有哪裡寫錯嗎? SORRY 陣列傳址呼叫 觀念很薄弱 預期的正確結果(Expected Output): 陣列 由小到大排序 錯誤結果(Wrong Output): 排序完資料不見了 程式碼(Code):(請善用置底文網頁, 記得排版) http://codepad.org/J98XPxNV 謝謝各位前輩指教 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.33.148.237

11/10 16:17, , 1F
for (i==0 <---?
11/10 16:17, 1F

11/10 16:19, , 2F
for ( i == 0 ; ...... 囧rz囧rz囧rz囧rz囧rz囧rz囧rz囧rz
11/10 16:19, 2F

11/10 16:21, , 3F
改了 但是資料排序還是沒變~"~
11/10 16:21, 3F

11/10 16:26, , 4F
氣泡排序法應該會有兩層迴圈
11/10 16:26, 4F

11/10 16:26, , 5F
你的第20行 bubbleSort(&array[size]); 有問題
11/10 16:26, 5F

11/10 16:26, , 6F
寫成 bubbleSort(array); 就可以了
11/10 16:26, 6F

11/10 16:34, , 7F
J大 請問不用傳SIZE給附程式嗎
11/10 16:34, 7F

11/10 16:56, , 8F
http://bit.ly/vrJqDh 轉譯一下並不會太難
11/10 16:56, 8F

11/10 17:05, , 9F
bubbleSort(&array[size]) 跟傳size完全沒有關係
11/10 17:05, 9F

11/10 17:22, , 10F
bubbleSort(&array[size]) 步是把傳位址嗎?
11/10 17:22, 10F

11/10 17:23, , 11F
所以呼叫副程式的時候不需要array傳位址嗎
11/10 17:23, 11F

11/10 17:23, , 12F
請J大指教 謝謝y
11/10 17:23, 12F

11/10 17:24, , 13F
james 說的是「傳size」沒關係,不是「不需要傳位址」
11/10 17:24, 13F

11/10 17:24, , 14F
你要傳的話,也應該要傳array第一個元素的位址
11/10 17:24, 14F

11/10 17:25, , 15F
bubbleSort(&array[0]); 像這樣
11/10 17:25, 15F

11/10 17:25, , 16F
簡單的說,要把陣列傳到副函式就要有二個東西存在
11/10 17:25, 16F

11/10 17:25, , 17F
你的寫法傳的是 array 第六個元素的位置,沒有意義
11/10 17:25, 17F

11/10 17:26, , 18F
1.第一元素位址,2.元素個數 或 最後一筆資料的下一位置
11/10 17:26, 18F

11/10 18:02, , 19F
T大 請問元素個數一定要傳給副程式嗎?
11/10 18:02, 19F

11/10 18:03, , 20F
這樣的話 那這隻程式少傳了元素個數 還可以動?
11/10 18:03, 20F

11/10 18:03, , 21F
謝謝 J大與T大指導
11/10 18:03, 21F

11/10 18:04, , 22F
可能我語意有讓人誤會的地方.你的 size 已用全域定義出
11/10 18:04, 22F

11/10 18:05, , 23F
來,所以在副函式就知道size大小,若沒全域定義size,
11/10 18:05, 23F

11/10 18:05, , 24F
在副函式裡面怎麼確知元素個數?
11/10 18:05, 24F

11/10 18:06, , 25F
沒做全域定義的話,就只能用傳的了。
11/10 18:06, 25F

11/10 18:13, , 26F
http://codepad.org/SStwTQxh 改出來大概是這樣
11/10 18:13, 26F
文章代碼(AID): #1EkuVP4p (C_and_CPP)
文章代碼(AID): #1EkuVP4p (C_and_CPP)