Algorithm 選擇排序

2022-07-09 22:15:11 字數 679 閱讀 2932

選擇排序:比如在乙個長度為n的無序陣列中,在第一趟遍歷n個資料,找出其中最小的數值與第乙個元素交換,第二趟遍歷剩下的n-1個資料,找出其中最小的數值與第二個元素交換......第n-1趟遍歷剩下的2個資料,找出其中最小的數值與第n-1個元素交換,至此選擇排序完成。

舉個例子:5 7 6 4 3 8

第一趟:  3 7 6 4 5 8

第二趟:  3 4 6 7 5 8

第三趟:  3 4 5 7 6 8 

第四趟:  3 4 5 6

7 8第五趟:  3 4 5 6 7

8

#include/*

* author:knife

* time:2014.06.13 11:17

* algorithm:選擇排序

*/void

main();

int n = sizeof(intarr)/sizeof(intarr[0]); //

計算整型陣列的長度

intminindex,tmp;

//選擇排序

for(int i = 0; i < n-1; i++)

}if(minindex !=i)

}//列印輸出

for(int i=0; i < n; i++)

printf("\n

");}

[1] 

Algorithm 排序演算法

閒來無事回顧一下原來所學的排序演算法,包括冒泡 選擇 插入 希爾 快速 歸併排序,這六種。首先依次講解原理,最後放出實現及測試速度原始碼。我想大部分人學習的第乙個排序演算法就是這個。顧名思義,如泡泡般,越到水面就越大,即經過連續不斷的判斷,選取大 或小 的值進行交換,一輪結束後,未排序資料最後面的就...

Algorithm 排序演算法 堆排序

堆排序是選擇類排序演算法,核心思想依然是選擇最大 小 的元素,與直接選擇排序不同的是,堆排序借助了最大堆的特性,使得最大元素的查詢更加的便利。最大堆 最大堆是二叉堆的乙個形式,最大堆要求根節點的關鍵字是所有節點關鍵字中的最大者,即要求最大堆根節點的關鍵字不小於其左葉子的關鍵字,也不能小於右葉子的關鍵...

Algorithm 基數排序

基數排序 以整形為例 將整形10進製按每位拆分,然後從低位到高位依次比較各個位。主要分為三個過程 分配,先從個位開始,根據位值 0 9 分別放到0 9號桶中 比如53,個位為3,則放入3號桶中 收集,再將放置在0 9號桶中的資料按順序放到陣列中 重複 1 2 過程,從個位到最高位 比如32位無符號整...