C语言学到数组之后,就会遇到非常让人头痛的一个问题,那就是排序,本次,写一下两个排序的方法,冒泡法排序和选择排序法。
1.冒泡法排序,例如这个代码。就是将数组里的元素两两相比,把比较大的数往右边移一位,把比较小的数往左移一位。在for循环的嵌套里面,外部循环被执行一次,就把最大的那个数移到了最右边,在经过一次外部循环,又把第二大的那个数移到了倒数第二个位置。直到for循环的嵌套被执行完,就是把数组里的元素按从小到大的顺序排列出来了。输出的是
。
2.选择排序法 .所谓选择法就是先将5个数中最小的数与a[0]对换,再将a[1]~a[4]中最小的数与a[1]对换......每比较一轮,找出一个未经排序的数中最小的一个。代码如下
输出。可以看出,冒泡法排序和选择排序法的输出结果都是一样的,但是,选择排序法的执行过程要比冒泡法排序的执行过程更简单一点。
3.上面的两个排序方法都是把数字从小到大排,如果要从大到小排序的话,只需要在嵌套的for循环语句里的if语句改一下,把小于号改成大于号即可,如选择排序法,就是只改了一个符号,输出
,当然这里需要把第一个printf语句里的从小到大排序改成从大到小排序