选择排序法
看图例:
看代码:
/// <summary>
/// 选择排序。
/// </summary>
/// <param name="arrInt"></param>
private void Sort(int[] arrInt)
{
// 因为第i个值,需要和i+1之后的值比较,所以这里需要 -1。
for (int i = 0; i < arrInt.Length - 1; i++)
{
int min = i; // 最小值的位置
for (int j = i + 1; j < arrInt.Length; j++)
{
if (arrInt[j] < arrInt[min])
min = j;
}
if(min != i)
{
// 最小值和第i个记录交换
int temp = arrInt[i];
arrInt[i] = arrInt[min];
arrInt[min] = temp;
}
}
}
/// 选择排序。
/// </summary>
/// <param name="arrInt"></param>
private void Sort(int[] arrInt)
{
// 因为第i个值,需要和i+1之后的值比较,所以这里需要 -1。
for (int i = 0; i < arrInt.Length - 1; i++)
{
int min = i; // 最小值的位置
for (int j = i + 1; j < arrInt.Length; j++)
{
if (arrInt[j] < arrInt[min])
min = j;
}
if(min != i)
{
// 最小值和第i个记录交换
int temp = arrInt[i];
arrInt[i] = arrInt[min];
arrInt[min] = temp;
}
}
}