【C# 排序】简单选择排序
概览
定义
选择排序:每一趟在待排序元素中选取关键字最小(或最大)的元素, 和首个待排序元素的做交换。
适用范围
适用性:既可以用于顺序表,也可用开链表
时间和空间复杂度
时间复杂度:O(N)
空间复杂度:O(1)
稳定性
简单选择排序是不稳定的
算法执行步骤
第一趟:从左往右扫描找出最小元素,和第一元素做交换。
第二趟、第一元素就不用扫描了,再剩下的部分找出最小元素27和38交换位置
第三趟:同上
。。。。。。。。。。。。。。。。。。。。。
C#代码
public static void StraightSelectSort(int[] aa) { int min ,j,it; for (int spilt = 0 ; spilt < aa.Length - 1; ++spilt) { //选出最小的 for ( min=j= spilt; j < aa.Length-1; ++j ) { if ( j+1 < aa.Length - 1 && aa[j+1] < aa[min]) { min = j+1; } } //选择出做小值,和第一个值做交换 it = aa[spilt]; aa[spilt] = aa[min]; aa[min] = it; } }
编程是个人爱好