quote:以下是引用Zane在2012-09-07 23:41:54的发言:quote:以下是引用godkonws在2012-09-07 08:34:56的发言:排序过程中,无论是否交换位置,排序都能在一个周期内完成。这一点我理解不了。m10.2为0 ,排序已经完成

一组十个数据:10,9,8,7,6,5,4,3,2,1。我的理解是这组数要20个扫描周期才能完成排序啊。
第一个扫描周期结束,数据应该是:9,8,7,6,5,4,3,2,1,10
依次类推
另一组数据:5,6,3,4,1,2,9,10,7,8,中途有不要换位的,也在一个周期内完成。
通过事实,发现这样分析理解是错误的。请大家指点,谢谢
程序用的是指令循环,可在一个扫描周期内执行的;而你考虑的是程序扫描的自然循环,当然也可以做,但出结果会严重滞后。
另外,排序的次数你可以掰着指头数数,不要想当然,10个数要找到最大或最小值只要比较9次就可以了,所以10个数要冒泡需要比较几次呀?
前段时间出差了,10个数据比较几次能排序完?
拿3个数举例:2,3,1 (2次就能排序完吧)
如下:
第一次比较后:2,3,1
第二次比较后:2,1,3
可能是我的理解有问题,请斑竹指点下,谢谢