c语言中两种经典的排序算法,冒泡排序,选择排序(初学)-创新互联

冒泡排序:

创新互联-专业网站定制、快速模板网站建设、高性价比永州网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式永州网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖永州地区。费用合理售后完善,10多年实体公司更值得信赖。

冒泡排序的主要思路是将一个数组中大的元素沉到数组的最后,依次进行,最后完成对数组的排列,由思路可知,最终数组的顺序是从小到大的。

代码的主体是图中灰色的部分在此作出解释:

排序的主要流程就是每一次循环从第一个开始依次与相邻的即下一个元素进行比较,如果前一个元素大于后一个元素,则将前一个元素与后一个元素进行互换。每一次循环结束后,数组中最后存放的一定是前几个元素中大的元素,下一次循环时将不再遍历这最后一个,以此类推,最后将整个数组排好序。

因为这边数组中一共只有5个元素,所以仅需将4个元素排列好,数组便完成了排序。

对于5-i-1的解释:将数组看成是一个由一节一节车厢组成的火车,每循环一次,火车的最后一节都掉落,5-i就代表了该火车还剩几节车厢,而得知有几节车厢便能够得知需要进行几次,如果想不明白可以类比一下:如果3节车厢只需要进行2次的比较就能将大的那个元素存放到数组的最后,如果是2节车厢,仅需要一次即可。所以这边需要进行比较的次数就是车厢数-1.

冒泡排序中易写错的地方:

可能会将a【j】写成a【i】,注意我们每次都是从第一个元素开始的,若写成i的话每次开始首元素便不再是第一个,排序也变的毫无意义。 

选择排序:

选择排序的前身其实是在一个数组中找出大值/最小值

找大值/最小值就是利用了打擂台的思想,即将第一个看成大/最小的依次与下面的元素进行比较,而选择排序就是利用这种思想进行排序的。

每次默认将第i个元素看成大的,与剩下的元素进行打擂台,即找出剩下元素中真正大的那个元素,俩者进行互换。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前名称:c语言中两种经典的排序算法,冒泡排序,选择排序(初学)-创新互联
URL网址:http://abwzjs.com/article/coidid.html