什麼是選擇排序?

2021-08-14 04:30:30 字數 937 閱讀 2169

選擇排序的原理就是在乙個待排序的陣列中,首先從前至後(或從後至前)對陣列遍歷後選取最大 (或最小)的數,與陣列首(尾)的數進行交換。

第二步是從陣列的第二個位置開始向後遍歷仍然取出最值,與陣列的第二個位置的數進行交換,

第三步.........

....

第n-1步後,整個陣列都將處於有序狀態。

for example:

有乙個待排序的陣列:

8 12 28 3 53 22 0 7 我們要對他進行從大到小進行排序。

選擇排序實現:

第一步排序後:53 12 28 3 8 22 0 7

第二步排序後:53 28 12 3 8 22 0 7

第三步排序後:53 28 22 3 8 12 0 7

第四步排序後:53 28 22 12 8 3 0 7

第五步排序後:53 28 22 12 8 3 0 7

第六步排序後:53 28 22 12 8 7 0 3

第七步排序後:53 28 22 12 8 7 3 0

因此在完成了七次的選擇後,整個陣列實現了有序排列。

**實現:

#includevoid selection(int a);

int main()

selection(a);

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

return 0;

}void selection(int a)

if(max != i)

}}

選擇排序的交換次數比氣泡排序交換的次數少,由於交換所需cpu時間比比較所需的cpu時間多,一般來講,選擇排序比氣泡排序快。

什麼是路由選擇?

路由選擇包括兩類 靜態路由選擇 動態路由選擇 網際網路所採用的路由選擇協議的主要特點 自適應 動態路由選擇,能較好地適應網路狀態的變化。分布式 網際網路中的各路由器通過相互間的資訊互動,共同完成路由資訊的獲取和更新。分層次 將整個網際網路劃分為許多個較小的自治系統as 例如,乙個較大的isp就可以劃...

什麼是拓撲排序

如果將某一集合中的所有元素作為圖的結點,將該集合上的偏序關係作為圖的邊,則任意乙個偏序關係即可以表示乙個有向圖。拓撲排序是有向圖的乙個重要操作。在給定的有向圖g中,若頂點序列v1,v2,vn滿足下列條件 若在有向圖g中從頂點vi到頂點vj有一條路徑,則在序列中頂點vi必在vj之前,便稱這個序列為乙個...

什麼是計數排序?

public static int countsort int array 2.根據數列最大值確定統計陣列的長度 int countarray newint max 1 3.遍歷數列,填充統計陣列 for inti 0 i countarray array i 4.遍歷統計陣列,輸出結果 intin...