選擇排序是一種簡單直觀的排序演算法。它的工作原理是:第一次從待排序的資料元素中選出最小(或最大)的乙個元素,存放在序列的起始位置,然後再從剩餘的末排序元素中尋找到最小(或最大)元素,然後放到已排序的序列的末尾,以此類推。直到全部待排序的資料元素的個數為零。
//選擇排序
static
void
selectsort
(int
array)
}//重置最小元素
array[minindex]
= array[i]
; array[i]
= minvalue;
}}
輸入:int array = (3,5,6,1,4,2);
步驟:
第一次迴圈:
開始:minvalue = 3,minindex = 0
最後:minvalue = 1,minindex = 3
結果:(1,5,6,3,4,2)
第二次迴圈:
開始:minvalue = 5,minindex = 1
最後:minvalue = 2,minindex = 5
結果:(1,2,6,3,4,5)
第三次迴圈:
開始:minvalue = 6,minindex = 2
最後:minvalue = 3,minindex = 3
結果:(1,2,3,6,4,5)
第四次迴圈:
開始:minvalue = 6,minindex = 3
最後:minvalue = 4,minindex = 4
結果:(1,2,3,4,6,5)
第五次迴圈:
開始:minvalue = 6,minindex = 4
最後:minvalue = 5,minindex = 5
結果:(1,2,3,4,5,6)
輸出:1,2,3,4,5,6
C 選擇排序演算法
原理 選擇排序是搜尋整個陣列,將找到的最小值與陣列中第一位元素交換位置 然後在剩下的元素中找到最小值,將找到的最小值與陣列中第二位元素交換位置,依此類推,直到將所有的元素排好順序。選擇排序,從小到大排列 public static void selectionsort 定義乙個陣列 for int ...
C 演算法 選擇排序
c 選擇排序 選擇排序的原理,第一次從陣列中選出最小的數,將它放在陣列的第一位置,第二次再從陣列中選出最小的數,將它放置在第二個位置,以後每次都選出最小的數,按照上邊的排序方式,放置在陣列中合適的位置,這樣到最後選出的數就是有序的。static void main string args 72,54...
演算法筆記 直接選擇排序
直接選擇排序最好最壞情況時間複雜度均為o n 2 不穩定,其優勢在於最多隻需交換n次,交換操作比比較操作耗時。1.演算法思想 從待排序序列中選擇最小的元素,放入有序序列的末尾 如此迴圈直至待排序序列為空。2.時間複雜度 最好情況 o n 2 序列正序有序,無需交換元素,但比較時間為o n 2 最壞情...