C#——選擇排序
阿新 • • 發佈:2019-02-20
選擇排序(Selection sort)是一種簡單直觀的排序演算法。它的工作原理是每一次從待排序的資料元素中選出最小(或最大)的一個元素,存放在序列的起始位置,直到全部待排序的資料元素排完。 選擇排序是不穩定的排序方法(比如序列[5, 5, 3]第一次就將第一個[5]與[3]交換,導致第一個5挪動到第二個5後面)。
下面來看看程式碼
public class SelectSorter { public void Sort(int[] list) { int i, j, temp, k; for (i = 0; i < list.Length - 1; i++) { k = i; for (j = i + 1; j < list.Length; j++) { if (list[k] > list[j]) { k = j; } } if (k != i) { temp = list[k]; list[k] = list[i]; list[i] = temp; } } } } public class MainClass { public static void Main() { int[] iArray = new int[] { 1, 5, 3, 6, 10, 55, 9, 2, 87, 12, 34, 75, 33, 47 }; for (int i = 0; i < iArray.Length; i++) Console.Write("{0} ", iArray[i]); Console.WriteLine(); SelectSorter ss = new SelectSorter(); ss.Sort(iArray); for (int i = 0; i < iArray.Length; i++) Console.Write("{0} ", iArray[i]); Console.WriteLine(); Console.ReadKey(); } }