首頁  >  文章  >  C語言中如何實作選擇排序演算法

C語言中如何實作選擇排序演算法

清浅
清浅原創
2019-04-09 11:53:0239424瀏覽

選擇排序法實現的步驟:先找出一個最小數交換到最前面;然後在剩下的數中找個最小的交換到剩下數最前面;最後一直重複此步驟,直到所有數字排好即可。

C語言中如何實作選擇排序演算法

選擇排序法實現的步驟:找出一個最小數交換到最前面,然後在剩下的數中找個最小的交換到剩下數字最前面,一直重複此步驟,直到所有數字排好

C語言中如何實作選擇排序演算法

#【推薦課程:##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語言中如何實作選擇排序演算法

#總結:以上就是這篇文章的全部了,希望對大家有幫助

以上是C語言中如何實作選擇排序演算法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn