设为首页 - 加入收藏
广告 1000x90
您的当前位置:黄大仙www78345 > 交换排列 > 正文

C语言冒泡排序法和选择法的不同本质区别

来源:未知 编辑:admin 时间:2019-07-28

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

  冒泡是用第一个数和第二个数比较,将较大的放入第二个数,又用第一个数和第三个数比较,将较大的放在第三个数……以此类推,比较完后,就把最小的数选出来排在了第一位。

  选择是用第一个数和第二个数比较,将较大的放入第二个数,又用第二个数和第三个数比较,将较大的放在第三个数……以此类推,比较完后,就把最大的数选出来排在了最后一位。

  每次括号内最小的和括号内第一个交换(如果最小的就是在第一位那什么都不做)

  相邻两个比较,顺序不对就交换,比较范围是括号里。圆圈为气泡,大气泡一直向上升。

  2012-04-19展开全部先搬书说说书上标准的说法吧,选择排序基本思想是每一趟在n个记录中选取关键字最小的记录作为有序序列的第I个记录,并且令I为1~n-1,进行n-1趟选择操作。用我的话来说(把数从小到大排列)就是把数组中的第一个数和第二个数比较,若第一个数大于第二个数,则把两个数的位置交换,然后现在这个位置的第二个数和第三个数比较;若第一个数小于第二个数的话,两个数的位置不变,接着将第一个数和第三个数进行比较大小。全部以此类推直到第一个数和后面所有的数进行比较,然后再把数组中原来的第二个数做这个比较,一直到数组的所有数全部遍历一次。

  冒泡排序,首先泾第一个记录的关键字和第二个记录的关键字进行比较,若为逆序则将两个记录交换,然后比较第二个和第三个记录的关键字,以此类推,知道第n-1个记录和第n个记录的关键字进行过比较为止。用我的话来说就是把最先前的那个数和第二个数比较,若前面比后面小,则第二个数和第三个数进行比较,一直到遍历一次数组中所有的元素;若前面的比后面的大,则两个交换位置,然后用现在第二个数和第三个数进行比较,一直到遍历一次数组中所有的元素。

  估计有点昏了。那就简单点。选择就是原来的第一个元素和后面的所有元素进行一次比较后再用原来的第二个元素和除原来第一个元素以外的所有元素进行一次比较。冒泡就是相邻的两个元素进行比较,一直到遍历一次数组所有元素才结束、。 也可以这样想,选择排序就是每一次遍历数组的时候都将数组元素最大或者最小的元素按数组下标的顺序放入数组,然后比较这个元素后面的元素,然后再放入元素。冒泡排序可以看作是相邻的两个元素进行比较,小的放在前面,大的放在后面(谁放在前面看你的需求)。

  谢谢你的热心帮助.我还是不太懂,希望你能耐心看下我的理解对不对哈(都按从小到大排):选择,第1趟比较选出最小的数放第1位,然后在剩下的数中选出最小的放第2位,再在剩下的数中选出最小的数放第3位... ;冒泡,第1趟,相邻两个数比较,先从第1个和第2个数开比,若第2个数大的话就不换位置了,然后是第2个数和第3个数比较,直到把最大的数放到最后面去,然后第2趟重复第1趟选出次大的数放倒数第2位,直到排好为止.是不是这样的?谢谢!

  选择是对的。冒泡还是放在最前面,其实和选择最明显的区别就是冒泡是相邻的比较,而不像选择可以和不相邻的比较。

本文链接:http://apkhealth.com/jiaohuanpailie/529.html

相关推荐:

网友评论:

栏目分类

现金彩票 联系QQ:24498872301 邮箱:24498872301@qq.com

Copyright © 2002-2011 DEDECMS. 现金彩票 版权所有 Power by DedeCms

Top