数据结构与算法-选择排序

选择排序的工作原理是:第一次排序时在数据元素中选出最小(或最大)的一个元素并存放在序列的起始位置;然后再从剩余的元素中选出最小(或最大)的一个元素存放在已经排序的序列的末尾,以此类推,直到完成所有的排序。
  
排序步骤:
以[13,5,44,1,6]数据元素按照从小到大排序
第一次排序:从[13,5,44,1,6]

第一次排序选出最小元素为1,并排到初始位置
第二次排序:从[13,44,5,6]中选出最小值

第二次排序选出最小元素为5,并排到已排序的尾部(即1的尾部)
第三次排序:从[44,13,6]中选出最小值

第三次排序选出最小元素为6,并排到已排序的尾部(即5的尾部)
第四次排序:从[44,13]中选出最小值

第四次排序选出最小元素为13,并排到已排序的尾部(即6的尾部),排序完成
代码实现

复制代码
//选择排序
static int[] Print2(int[] arr)
{
    int temp;
    for (int i = 0; i < arr.Length; i++)
    {
        for (int j = 1; j < arr.Length-i; j++)
        {
            if (arr[i] > arr[i + j])
            {
                temp = arr[i]; //大
                arr[i] = arr[i + j];
                arr[i+j] = temp;
            }
        }
    }
    return arr;
}