C#选择排序
选择排序算法的思想:
(以从小到大的排序顺序为例)在一个无序的数组中,我们先认为数组中的第一个数是数组中最小的,拿它与数组中的其他数进行比较,一旦有比它小的数存在,就更新最小值,这样比较第一轮,我们可以选择出数组中最小的那个数。将这个最小值放到数组第一个位置。
然后我们从数组的第二个数开始重新进行新一轮的选择,得到数组中第二小的数,并把它放在数组第二的位置。
以此类推,最后比较最后两个数得到的小值放前大值放后。得到一个从小到大的有序数组。
具体实现的代码如下:
#region 选择排序
void XuanZePaiXu(int[] array )
{
for (int i = 0; i < array.Length-1; i++)
{
int minIndex = i;
for (int j = i+1; j <array.Length; j++)
{
if (array[j]<array[minIndex])
{
minIndex = j;
}
}
if (minIndex!=i)
{
int temp = 0;
temp = array[i];
array[i] = array[minIndex];
array[minIndex] = temp;
}
}
}
#endregion