选择排序
算法描述
1. 假定未排序序列中第一位为数组最小值,通过与后面的数值的数值比较,找到未排序序列的最小值,与未排序序列第一位交换位置;
2.重复步骤一,对剩余未排序序列进行比较找出最小值,与未排序序列中第一位数值交换位置,直到【数组】所有【数值】排序完成
图示:

代码实现:
int tmp;//中间交换变量
int index;//记录索引【位置】
int indexVal;//记录索【引值】
for (int i = 0; i < arr.Length - 1; i++)
{
index = i;
indexVal = arr[i];
for (int j = i + 1; j < arr.Length; j++)
{
if (indexVal > arr[j])
{
indexVal = arr[j];
index = j;
}
}
tmp = arr[i];
arr[i] = arr[index];
arr[index] = tmp;
}
浙公网安备 33010602011771号