/// <summary> /// 简单选择排序 /// 给定数组:int[] arr={里面n个数据}; /// 第1趟排序,在待排序数据arr[1]~arr[n]中选出最小的数据,将它与arrr[1]交换; /// 第2趟,在待排序数据arr[2]~arr[n]中选出最小的数据,将它与r[2]交换; /// 以此类推,第i趟在待排序数据arr[i]~arr[n]中选出最小的数据,将它与r[i]交换,直到全部排序完成。 /// </summary> /// <param name="arry"></param> public static void EasySelectSort(int[] arry) { for (int i = 0; i < arry.Length-1; i++) { int k = i;//标记最小的数字的索引 for ( int j = k+1; j < arry.Length-1; j++) { if(arry[j]<arry[k])//找到最小的数据 { k = j; } } //内层循环结束找到最小的数字 if(k!=i) { Swap(arry, k, i); } } }
时间复杂度:n^2
原文地址:https://www.cnblogs.com/weiqiangwaideshijie/p/10544776.html
时间: 2024-11-08 17:59:58