***一维数组排序***

        在一维数组中,一维数组排序是十分十分重要的典型,是每个学习C语言必须掌握的,下面我以例题为出发点:

1.

也许题目字数很多会让人望而生畏,但这正会激发人们的好胜心,这是一道很经典的选择法排序,我们在研究排序的规则时,要将思路凝聚于心,做一个有心人!

首先解释一下什么是选择法排序:

        选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序不稳定的排序方法。

下面是程序:、

不难看出输入和输出都加了一层循环,类似地,如果是二维数组的话输入输出则需要两层循环遍历数组。

哇!这么多数据我们应该如何是好,说实话我第一次看到这道问题整个人眼前都是黑的,之后才明白这个问题其实就是纸老虎一只,这就用到了我们万能的define了,这里需要注意的就是每行十名学生的信息究竟需要怎么做,这就考验到大家之前学习的if语句的学习效果了,程序如下图所示:

这里输出结果就不举例了,我们做这道题的话define后边可以先取4个数,结果无误将4改成210即可,这道题用的是所谓的”气泡法排序“,下面给大家解释一下:

        冒泡排序 (Bubble Sort),又被称为气泡排序或泡沫排序。 它是一种较简单的排序算法。 它会遍历若干次要排序的数列,每次遍历时,它都会从前往后依次的比较相邻两个数的大小;如果前者比后者大,则交换它们的位置。 这样,一次遍历之后,最大的元素就在数列的末尾! 采用相同的方法再次遍历时,第二大的元素就被排列在最大元素之前。

注意问题是从大到小还是从小到大,修改方法只要将这里的小于号变成大于号即可。

        第一道题读者也可用上述的气泡法排序。相比于选择法排序,个人比较喜欢冒泡法排序,比较简洁直观,二者有一定区别,读者需注意。

  • 16
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值