本文共 1283 字,大约阅读时间需要 4 分钟。
1.原理讲解
2.代码块
public static void SelectSortMethod(int[] arr) { int temp = 0; for (int i = 0; i < arr.Length - 1; i++) { int minVal = arr[i]; //假设 i 下标就是最小的数 int minIndex = i; //记录我认为最小的数的下标 for (int j = i + 1; j < arr.Length; j++) //这里只是找出这一趟最小的数值并记录下它的下标 { //说明我们认为的最小值,不是最小 if (minVal > arr[j]) //这里大于号是升序(大于是找出最小值) 小于是降序(小于是找出最大值) { minVal = arr[j]; //更新这趟最小(或最大)的值 (上面要拿这个数来跟后面的数继续做比较) minIndex = j; //记下它的下标 } } int index = 0; //控制台输出 foreach (int item in arr) { Console.Write(item + ","); index++; if (index == arr.Length) { Console.WriteLine($"第{i + 1}次"); } } //最后把最小的数与第一的位置交换 temp = arr[i]; //把第一个原先认为是最小值的数,临时保存起来 arr[i] = arr[minIndex]; //把最终我们找到的最小值赋给这一趟的比较的第一个位置 arr[minIndex] = temp; //把原先保存好临时数值放回这个数组的空地方, 保证数组的完整性 } }
转载地址:http://pacjn.baihongyu.com/