搜索

C语言 谁能讲解一下选择排序法以及有效排序。

gecimao 发表于 2019-05-05 06:20 | 查看: | 回复:

  看不懂。还有如果有个题目是问在选择排序法里,如果在排序时a[i]a[j](ji)就叫做有效排序的话,那么怎么得出一组数的有效排序是多少,比如[4,1,3,2]里的有效排序是多少?希望高人指点...

  看不懂。还有如果有个题目是问在选择排序法里,如果在排序时a[i]a[j](ji)就叫做有效排序的话,那么怎么得出一组数的有效排序是多少,比如[4,1,3,2]里的有效排序是多少?

  希望高人指点,最好有个有效排序的C程序啦,谢谢。展开我来答

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  (1)找出最小的元素-----(4,1),即用4和1比较,是有效排序,比较结果是1比较小,因此1再和3,2比较,(1,3),(1,2)这两次比较就不是有效比较了(1在3,2前面且比它们小)

  (2)在剩余序列中继续找最小的元素(即排除了1)-----(4,3)比较,是有效排序。3比较小,因此3再和2比较,(3,2)是有效排序。找出最小的元素2。

  本例程序中用了两个并列的for 循环语句,在第二个for 语句中又嵌套了一个循环语句。第一个for 语

  句用于输入10 个元素的初值。第二个for 语句用于排序。本程序的排序采用逐个比较的方法进行。在i 次循环时,把第一个元素的下标i 赋于p,而把该下标变量值a[i]赋于q。然后进入小循环,从a[i+1]起到最后一个元素止逐个与a[i]作比较,有比a[i]大者则将其下标送p,元素值送q。一次循环结束后,p 即为最大元素的下标,q 则为该元素值。若此时i≠p,说明p,q 值均已不是进入小循环之前所赋之值,则交换a[i]和a[p]之值。 此时a[i]为已排序完毕的元素。输出该值之后转入下一次循环。对i+1 以后各个元素排序。

本文链接:http://baumseelen.com/duipaixu/429.html
随机为您推荐歌词

联系我们 | 关于我们 | 网友投稿 | 版权声明 | 广告服务 | 站点统计 | 网站地图

版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright @ 2012-2013 织梦猫 版权所有  Powered by Dedecms 5.7
渝ICP备10013703号  

回顶部