0
点赞
收藏
分享

微信扫一扫

选择排序法(C语言)

zibianqu 2022-04-24 阅读 76
c语言

选择排序法思路

借此例子,说一下我对选择排序法的理解,还请耐心看完

a[0]=45,a[1]=67,a[2]=87,a[3]=34,a[4]=89

首先,选定第一个,也就是a[0],作为本轮的主要对象,将a[0]和后面的四项都依次比较,

每次比较,如果有比a[0]大的,就将a[0]的值更新一下,走完一轮下来,a[0]的值就固定下来了,作为最大值(这里我写的是大的放在最前面,也可以把最小的放最前面)

而后,不再管a[0],再从a[1]开始,重复上述做法。

大循环一共四轮,因为每次比较都固定一位,固定了四位后,最后一位就自然也不用再比较了,(一共五个数),所以,程序第七行,我们设置的for循环时,设置循环进行四次。

内层循环第一次是从a[1]开始比较,然后依次是a[2]、a[3]....,内循环每走完一轮,我们就要舍弃掉最前面的一个元素,因此在设置内循环每次的初始值时,引入了i这个变量。

解释完了思路,我们再来过一遍流程

第一次,a[0]和a[1]、a[2]、a[3]、a[4]比较,定下了a[0],放的是最大值

第二次,a[1]和a[2]、a[3]、a[4]比较,定下了a[1],放的是次大值

第三次,a[2]和a[3]、a[4]比较,定下了a[2],放的是第三大的值

第四次,a[3]和a[4]比较,定下了a[3],放的是第四大的值

至此,余下a[4]中的自然是最小值

 

举报

相关推荐

0 条评论