学习目标:
熟悉选择排序的基本方法,并用C#实现
学习内容:
1.选择排序基本思想
2.通过C#实现选择排序
1.选择排序的基本思想
通过一个变量记录最大和最小值并进行排序
注意:该变量记录的是索引值(即地址)
找到极值后将其放到目标位置(如升序排序中)
学习产出:
在此附上源码
#region 选择排序
//实现升序 把大的放在最后边
int[] arr_2 = new int[] {8,9,3,6,7,2,4,1,5,11,13 };
//第五步 比较m轮
for (int m = 0; m < arr_2.Length; m++)
{
//第一步 申明一个用于存放索引的变量
//每一轮开始都默认第一个为极值
int index = 0;
//第二步 依次比较
for (int i = 0; i < arr_2.Length - m; i++)
{
//第三步
//找出极值(最大值)
if (arr_2[index] < arr_2[i])
{
index = i;
}
}
//第四步 放入目标位置
// Length-1-轮数
//若位置为当前目标位置,则不用交换
if (index != arr_2.Length-1-m)
{
int temp = arr_2[index];
arr_2[index] = arr_2[arr_2.Length -1-m];
arr_2[arr_2.Length - 1 - m] = temp;
}
}
#endregion
总结:选择排序的要领就是先依次比较再交换位置同时,将单轮比较嵌入多轮比较中。