c語言冒泡法排序問題

2023-01-29 15:25:56 字數 374 閱讀 8091

1樓:

不能,比如輸入2 5 3 6 8,在第二個for迴圈當中【for(j=i+1;ja[j])

】你a[i]用的i,而i=0,那麼總是a[0]=2與5 3 6 8比,

而a[0]是最小的一個,那麼怎麼也進不了if迴圈中flag就為0咯,又return,就結束咯換下for(i=1;ia[j+1]) //如果前面的數比後面的數大,進行交換

即把小數在前就放前不動,拿後面的比,而不是總拿小數去與其他的比

2樓:靈動無影

一個簡單的小函式被你寫這麼長,服氣了,氣泡排序基本上10行以內解決,理論上和選擇排序的時間雜度是一樣的。所以我建議你用選擇排序寫,簡潔易懂,你這樣把自己搞成暈菜了!

c語言問題用氣泡排序法按順序輸出字串

include include int main void for i 0 i出指標 str i return 0 用氣泡排序法對10個字串排序,並按從小到大的順序輸出.需要用c語言來程式設計的 include stdio.h include string.h int main char p 10 ...

c語言選擇法排序問題,c語言 選擇法排序

這個問題可以設想如果陣列就是從小到大的,會發生什麼情況 如果就是從小到大的陣列,if 語句沒用了,那麼直接執行a ipos a i 這就會出現問題了,如果你沒 對ipos賦值,那麼程式會報錯,如果對ipos賦值,那麼該賦什麼值?毫無疑問是i,如果和i不同,那麼意味著每次迴圈a 陣列中ipos處的值都...

用C語言,隨機輸入整數,用氣泡排序法對這些整數進行從小到大排序,輸出排序前和排序後的數的順序

c語言隨機輸入10個整數的源 如 下 include stdio.h void fun int a void main int c 10 int i printf 請輸入待排序的10個數 for i 0 i 10 i fun a printf n排序後的數列如下 n for i 0 i 10 i w...