选择排序
选择排序是一种简单直观的排序方法。
它的基本算法思想就是遍历一组数据,选一个最大或最小的放在首位,然后再遍历后选一个第二大或第二小的放在第二位,以此类推,直到结束。
这个算法思想很容易理解,我们直接看代码(C#实现):
//定义一个整型数组
int[] arr01 = new int[] { 9, 1, 4, 3, 2, 8, 6, 7, 5, 0 };
//定义一个temp用以交换值,一个indexOfMin保存最小值的角标
int temp, indexOfMin;
//选择排序
for (int i = 0; i < arr01.Length - 1; i++)
{
//将每次遍历的第一个值赋给min
indexOfMin = i;
for (int j = i + 1; j < arr01.Length; j++)
{
if (arr01[i] > arr01[j])
{
indexOfMin = j;
}
}
//如果indexOfMin != i,则说明最小值需要变更
if (indexOfMin != i)
{
temp = arr01[indexOfMin];
arr01[indexOfMin] = arr01[i];
arr01[i] = temp;
}
}
//打印看看是否正确
Console.WriteLine("排序后的数组为:");
for (int i = 0; i < arr01.Length; i++)
{
Console.Write(arr01[i] + " ");
}