c語言實現排序的兩種演算法(冒泡,選擇)

2021-09-01 19:33:37 字數 1068 閱讀 4239

1.利用隨機函式產生10個20以內的整數存於陣列中

(1) 按公升序輸出排序後的結果(排序可採用冒泡)

(2) 按降序輸出排序後的結果(選擇排序方法)

將問題分塊:

10個隨機數的生成

氣泡排序

選擇排序

(1)對於第乙個問題

可以使用stdlib.h 檔案中的rand函式來實現

#include

#include

#include

main()

(2)氣泡排序演算法

主要是通過相鄰的數的比較,以達到排序的目的,寫成函式形式如下

void

bubblesort

(int a[10]

)}}}

(3)選擇排序演算法

從前開始向後尋找最小的數與當前的數相交換

void

sort

(int a[10]

)}if(i!=imax)

//若最後最大值不是當前i的數則進行換位

}}

#include

#include

#include

void

bubblesort

(int a[10]

)}}}

void

sort

(int a[10]

)}if(imax!=i)}}

main()

bubblesort

(a);

for(i=

0;i<

10;i++

)printf

("\n");

printf

("降序排列後:\n");

sort

(a);

for(i=

0;i<

10;i++)}

![在這裡插入描述]

氣泡排序演算法C語言實現

氣泡排序 bubblesort 的基本概念是 依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即在第一趟 首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至比較最後兩個數,將小數放前,大數放後。至此第一趟結束,將最大的數放到了最後。在...

排序演算法 氣泡排序 C語言實現

氣泡排序介紹 氣泡排序 bubble sort 又稱為氣泡排序。這是一種較簡單的排序演算法。它會遍歷若干次要排序的陣列,每次遍歷時,它都會從前往後依次比較相鄰兩個數的大小 如果前者大於後者,則兩者位置互換。由此,一次遍歷後,最大元素就在數列末尾。採用相同方法再次遍歷時,第二大的元素就被排列在最大元素...

氣泡排序演算法的兩種優化

氣泡排序 三種實現,兩種優化 首先,我們先介紹bubblesort 就是氣泡排序,氣泡排序大家應該最熟悉不過了 氣泡排序演算法的運作如下 從後往前 1.比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。2.對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最...