技术论坛

冒泡排序的程序有个地方不理解

作者 主题
游侠

经验值: 310
发帖数: 36
精华帖: 0
主题:【探讨】冒泡排序的程序有个地方不理解


只看楼主 楼主 2022-06-23 16:31:27

 

 

 这个子程序的第三段,我直观感觉每次循环只执行了一次数据比较和交换,但实际运行结果是对的,排序都是正常的。可能我对这个循环过程或者指针的理解哪里有问题?求教大家


 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1767375&b_id=64&s_id=0&num=9

至圣

经验值: 17412
发帖数: 1003
精华帖: 1
回复:冒泡排序的程序有个地方不理解


只看楼主 1楼 2022-06-23 17:17:50

例如第一次排序将最大数放在最后一位,第二次将第二大的排在倒数第二位;这个程序看起来是缺少一个外循环;程序是在不断的执行的,很快执行了完了,无法看到执行的过程。


一个人在战斗
以下网友喜欢您的帖子:

  
至圣

经验值: 76206
发帖数: 19147
精华帖: 378
回复:冒泡排序的程序有个地方不理解


只看楼主 2楼 2022-06-23 17:46:32

FOR循环是在一个扫描周期内执行完毕的,不是跨扫描周期的


Zane 注册自动化系统工程师 Always save before download
以下网友喜欢您的帖子:

  
至圣

经验值: 67546
发帖数: 14783
精华帖: 100
回复:冒泡排序的程序有个地方不理解


只看楼主 3楼 2022-06-23 20:50:12

冒泡程序for一次?怎么跟我想象的不一样的?


 
以下网友喜欢您的帖子:

  
至圣

经验值: 76206
发帖数: 19147
精华帖: 378
回复:冒泡排序的程序有个地方不理解


只看楼主 4楼 2022-06-23 21:32:56
以下是引用芳季在2022-06-23 20:50:12的发言 >3楼

冒泡程序for一次?怎么跟我想象的不一样的?

冒个泡沉个底,找最小值或最大值,要几个FOR循环?


楼主指着这段程序说是排序就是排序啦?


你看看上面的注释,5个数据,循环比较4次,得到的是什么?


Zane 注册自动化系统工程师 Always save before download
以下网友喜欢您的帖子:

  
游侠

经验值: 310
发帖数: 36
精华帖: 0
回复:冒泡排序的程序有个地方不理解


只看楼主 楼主 5楼 2022-06-23 22:11:48

想岔了想岔了。程序运行的单个周期过程跟想的其实是一致的,7个数据,循环六次,第一次循环比较第1和第2个元素,第二次循环比较第2和第3个元素,第三次循环比较第3和第4个元素.......以此类推。没有考虑且不应该没有考虑的是,PLC程序是循环运行的,以后还会运行无限次FOR—NEXT循环,直到我们得到排序结果仍然循环。

和c语言的冒泡排序程序不同,PLC程序本身循环执行,可以说是少一层循环。

太搞了......


 
以下网友喜欢您的帖子:

  
至圣

经验值: 19840
发帖数: 4383
精华帖: 2
回复:冒泡排序的程序有个地方不理解


只看楼主 6楼 2022-06-24 09:10:28

看**释,程序结构呢。


 
以下网友喜欢您的帖子:

  
侠士

经验值: 1256
发帖数: 66
精华帖: 3
回复:冒泡排序的程序有个地方不理解


只看楼主 7楼 2023-06-29 22:28:10

可主程序的启动后面加上升沿运行下,看下结果就明白了。


未 知 道
以下网友喜欢您的帖子:

  
侠圣

经验值: 2054
发帖数: 196
精华帖: 1
回复:冒泡排序的程序有个地方不理解


只看楼主 8楼 2023-06-30 10:34:15

“我直观感觉每次循环只执行了一次数据比较和交换,”

------------------------------------------------------------------

循环体内,本来就是一次比较和交换的啊。冒泡程序要涉及多重循环倒是真的。


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 2054
发帖数: 196
精华帖: 1
回复:冒泡排序的程序有个地方不理解


只看楼主 9楼 2023-06-30 10:36:55

如果只是找最大值或最小值,是不需要多重循环的。


 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
冒泡排序的程序有个地方不理解
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。