選擇排序的原理就是在乙個待排序的陣列中,首先從前至後(或從後至前)對陣列遍歷後選取最大 (或最小)的數,與陣列首(尾)的數進行交換。
第二步是從陣列的第二個位置開始向後遍歷仍然取出最值,與陣列的第二個位置的數進行交換,
第三步.........
....
第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...