常见算法(二)选择排序

选择排序的思路:

1、首选从数组中寻找最小(大)元素,放在数组的起始位置。

2、在从剩余的数中寻找最小(大)元素,放在第二位,以此类推。

这样便起到了筛选的作用,一直以最小或最大的原则进行选择

代码实现

int[] arr = { 1, 9, 2, 4, 6, 7, 3 };
            for(int i = 0; i < arr.Length-1; i++)
            {
                //标志位,用来记录最小值的序号
                int flag = i;
                //取i+1,是不需要跟他自己比,也不需要和前面已经排序的比
                for(int j = i+1; j < arr.Length; j++)
                {
                    //如果里面有小于前面的数
                    if (arr[j] < arr[flag])
                    {
                        //保证flag取到当前最小的值的序号
                        flag=j;
                    }
                }
                //然后进行将位置尽心交换
                int temp = arr[flag];
                arr[flag] = arr[i];
                arr[i] = temp;
            }
记录编程的点滴,体会学习的乐趣
原文地址:https://www.cnblogs.com/AduBlog/p/13563852.html