将要排序的对象分作两部分,一个是一排序的,一个是未排序的,从后面未排序部分选择一个最小 值,并放入前面已排序部分的最后一个。例如:
排序前: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(); }
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索int
, 排序
, 插入排序
, min
, num
, 80
, 经典排序
, 实现选择排序
, 实现插入排序
最小
,以便于您获取更多的相关知识。