初學者氣泡排序C語言

2021-10-11 04:11:31 字數 864 閱讀 2075

氣泡排序原理(以從小到大排序為例):

對於乙個陣列中的所有數字元素從左到右依次做一輪比較,每次比較讓較大的元素交換到右邊;也就是說:從陣列的第乙個元素開始,依次和之後的元素進行比較,每次比較拿到較大的那個數繼續進行比較,直到本輪比較全部完成後,最大的數就會排到最右邊,以此方法又開始進行下一輪比較,則最終所有元素會按照從小到大的順序排好序,即氣泡排序.

**如下:

#define _crt_secure_no_warnings 1

#include

void

bubblesort

(int arr,

int len)}}

}void

showarr

(int arr,

int len)

printf

("\n");

}int

main()

;int len =

sizeof

(arr1)

/sizeof

(arr1[0]

);showarr

(arr1, len)

;bubblesort

(arr1,len)

;showarr

(arr1, len)

;return0;

}

注:程式中,為什麼每輪比較的次數是 j因為: 假如陣列有n個元素只需比較的輪數為n-1輪而不是n輪;並且除了第一輪需要全部比較之外,剩下的每一輪都不用全部比較每個元素,因為每有一輪比較完成後就會有乙個最大的元素排好序到最右邊,所以在進行下一輪比較時上一輪已經排到最右邊的數就已經排好序不用再比較了.所以是j
PHP初學者 氣泡排序

echo arr04 12,32,15,6,48,52,16,95,78 print r arr04 這邊宣告乙個函式,擁有乙個引數。原理圖引用自 從上到下的解釋一遍吧!echo是輸出的意思,php和html 是互通的,所以echo可以輸出標籤。arr04 12,32,15,6,48,52,16,9...

C語言初學者總結

第一次練習 1 求1 2 3 100。迴圈 答案 include void main 2題目 輸入三個整數x,y,z,請把這三個數由小到大輸出。1 程式分析 我們想辦法把最小的數放到x上,先將x與y進行比較,如果x y則將x與y的值進行交換,然後再用x與z進行比較,如果x z則將x與z的值進行交換,...

C語言初學者建議

首先申明,本人不是什麼高手,但自認為對c還比較熟悉,可以給你提點建議 1 學習c語言,要從入門到精通,需要讀哪些書 從簡單的到難的排序,越詳細越好,最好都能注釋下選擇這本書的理由 入門階段 還是老譚那本。理由 雖然不能說它寫得有多好,但是你現在要做的是入門,要快速的掌握c的基本語法,這本書很好理解,...