中国自动化学会专家咨询工作委员会指定宣传媒体
免费注册 登录 广告服务 | 客服中心
您现在所在的是:

PLC论坛

抖音 德嘉 泓格论坛 FLIR红外热像论坛
工控论坛首页 PLC论坛 → 浏览主题: 求助:用两重循环嵌套来对4个数的大小排序,使用的是冒泡法,请帮我指正我的程序,
发表新帖 回复该主题
回帖:2个,阅读:3361 [上一页] [1] [下一页]
* 帖子主题:

求助:用两重循环嵌套来对4个数的大小排序,使用的是冒泡法,请帮我指正我的程序,

分享到
1072
北双
文章数:49
年度积分:50
历史总积分:1072
注册时间:2004/7/1
发站内信
发表于:2004/9/16 22:27:00
#0楼
谢谢各位对我的帖子的关注和回复,现在我想用对4个数进行大小排序,我把所遍写的程序运行后,结果不对,我用的是两重循环嵌套,有没有更好的方法,或对我这种方法的改正,不胜感激,程序如下:
NETWORK 1//对四个数赋值
LD SM0.0
MOVW +3, VW0
MOVW +4, VW2
MOVW +1, VW4
MOVW +2, VW4

NETWORK 2 //外循环初始化
LD SM0.0
MOVD &VB0, VD50
MOVW +0, VW100

NETWORK 3 //外循环开始
LD SM0.0
FOR VW100, +1, +3

NETWORK 4//对内循环初始化
LD SM0.0
MOVW +3, VW150
MOVW +0, VW102
MOVD &VB0, VD50
MOVW +0, VW300

NETWORK 5//内循环开始
LD SM0.0
FOR VW102, +1, VW150

NETWORK 6//内循环执行内容
LDW>= *VD50, *VD52
MOVW *VD50, VW300
MOVW *VD52, *VD50
MOVW VW300, *VD52

NETWORK 7//内循环地址调整
LD SM0.0
+D +2, VD50

NETWORK 8//内循环结束
NEXT

NETWORK 9//外循环地址调整
LD SM0.0
DECW VW150
+D +2, VD50

NETWORK 10//外循环结束
NEXT

3220
litianxi
文章数:942
年度积分:50
历史总积分:3220
注册时间:2001/4/10
发站内信
发表于:2004/9/17 20:26:00
#1楼
呵呵,*VD52是什么东东?
3220
litianxi
文章数:942
年度积分:50
历史总积分:3220
注册时间:2001/4/10
发站内信
发表于:2004/9/17 20:28:00
#2楼
最简单的排序方法是冒泡排序方法。这种方法的基本思想是,将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮。在冒泡排序算法中我们要对这个“气泡”序列处理若干遍。所谓一遍处理,就是自底向上检查一遍这个序列,并时刻注意两个相邻的元素的顺序是否正确。如果发现两个相邻元素的顺序不对,即“轻”的元素在下面,就交换它们的位置。显然,处理一遍之后,“最轻”的元素就浮到了最高位置;处理二遍之后,“次轻”的元素就浮到了次高位置。在作第二遍处理时,由于最高位置上的元素已是“最轻”元素,所以不必检查。一般地,第i遍处理时,不必检查第i高位置以上的元素,因为经过前面i-1遍的处理,它们已正确地排好序。
工控学堂推荐视频:

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

46.8003