简单排序。
对于简单排序需要掌握的内容非常少,正如题目说的一样它很简单。
简单排序和下一小节的堆排序都属于选择排序的范畴
选择排序:每⼀趟在待排序元素中选取关键字最⼩(或最⼤)的元素加⼊有序⼦序列
对于简单排序来说;
每⼀趟在待排序元素中选取关键字最⼩的元素加⼊有序⼦序列
接下来看一边简单的过程。
》》》》
以此类推,反正就是每一趟找出一个最小的元素来加入到排序的序列里面最新的位置。
用代码来讲解一下会更加清楚
看代码主体,第一步用了一个for循环确保从头到尾排序整个数组,接着定义了一个局部变量min,同时假定每次的初始min为i扫描到的对应数组下标里面的值。
接着第二个for循环。定义一个j变量等于i+1由于j大于i1个位序所以
再看第二个循环的循环体确保最小元素的位置是j保存的。同时一直执行第二个循环跑完第一趟找到一个最小的元素将他的值赋给min然后退出第二个for循环执行第一个for循环的最后一个语句如果min的位置不是当前的i的话就交换位置。(采用swap函数)再然后i+1重新定义i的位置因为上一趟有序序列已经确定了。
这里注意一下swap这种函数在考研当中如果是时间以及空间不允许的话可以不写出来,应为这种函数已经默认可以调用了。