经典算法:选择排序、插入排序和气泡排序的实现2014-04-12将要排序的对象分作两部分,一个是一排序的,一个是未排序的,从后面未排序部分选择一个最小 值,并放入前面已排序部分的最后一个。例如:排序前:70 80 31 37 10 1 48 60 33 80[1] 80 31 37 10 70 48 60 33 80 选出最小值1[1 10] 31 37 80 70 48 60 33 80 选出最小值10[1 10 31] 37 80 70 48 60 33 80 选出最小值31[1 10 31 33] 80 70 48 60 37 80 ......[1 10 31 33 37] 70 48 60 80 80 ......[1 10 31 33 37 48] 70 60 80 80 ......[1 10 31 33 37 48 60] 70 80 80 ......[1 10 31 33 37 48 60 70] 80 80 ......[1 10 31 33 37 48 60 70 80] 80 ......
C#实例:private static void SelSort() { int[] num = new int[] { 70, 80, 31, 37, 10, 1, 48, 60, 33, 80 }; int length = num.Length; int min, temp;WriteNumLine(num);for (int i = 0; i < length; i++) { min = i; for (int j = i; j < length; j++) { if (num[min] > num[j]) min = j; } if (i != min) { temp = num[i]; num[i] = num[min]; num[min] = temp; } WriteNumLine(num); }WriteNumLine(num); }private static void WriteNumLine(int[] num) { foreach (int i in num) { Console.Write(i + " "); } Console.WriteLine(); }