選擇排序法實現的步驟:先找出一個最小數交換到最前面;然後在剩下的數中找個最小的交換到剩下數最前面;最後一直重複此步驟,直到所有數字排好即可。
選擇排序法實現的步驟:找出一個最小數交換到最前面,然後在剩下的數中找個最小的交換到剩下數字最前面,一直重複此步驟,直到所有數字排好
#【推薦課程:##C語言教學】
在C語言中選擇排序法是較常見的方法,它的排序效率比冒泡法高且演算法也不複雜。選擇排序法的想法是:
1、找出一個最小數,交換到最前面。 2、在剩下的數裡面,再找一個最小的,交換到剩下數的最前面3、重複步驟2 ,直到所有數字都已排好。 顯然,對於含有N個數的陣列來說,其過程也要進行N-1趟 ( 0 <= i < N-1 )。找出一個最小數,交換到最前面的方法是:
先將剩下數中的第一個數(序號是i)當作基數,用變數k記下其序號,後面的數依序與該基數比較,若比基數還小,則用k記下其序號(注意:此時不要交換),當所有數都與基數比較後,k中存放的就是最小數的序號,然後將它交換到最前面(現在才交換)。在上面的過程中,資料只交換了一次,就是每趟只交換一次資料。 範例:#include#include #define N 8 void select_sort(int a[],int n); //选择排序实现 void select_sort(int a[],int n)//n为数组a的元素个数 { //进行N-1轮选择 for(int i=0; i 效果圖: #總結:以上就是這篇文章的全部了,希望對大家有幫助
以上是C語言中如何實作選擇排序演算法的詳細內容。更多資訊請關注PHP中文網其他相關文章!