ABB数组的应用之冒泡排序

定义一个num类型的一维数组,长度暂且定义为10个,可以自定义修改。手动输入10个整数,采用for循环嵌套。利用Dim()函数,获取数组长度,其返回值为num类型,可以放到for循环中作为循环次数。STEP为步长,值为-1。
详细代码:
VAR num arr_1{10}:=[0,0,0,0,0,0,0,0,0,0];
VAR string string1:="";

PROC R_Arr_lv2()
	TPErase;
	reg2 := 1;
	FOR o FROM 1 TO Dim(arr_1,1) DO
        TPReadNum reg3, "Input";
        arr_1{o}:=reg3;
	ENDFOR
    string1 := NumToStr(arr_1{1},0) +","+ NumToStr(arr_1{2},0) +","+ NumToStr(arr_1{3},0) +","+ NumToStr(arr_1{4},0) +","+ NumToStr(arr_1{5},0) +","+ NumToStr(arr_1{6},0) +","+ NumToStr(arr_1{7},0) +","+ NumToStr(arr_1{8},0) +","+ NumToStr(arr_1{9},0) +","+ NumToStr(arr_1{10},0);
	TPWrite string1;
	FOR i FROM Dim(arr_1,1)-1 TO 1 STEP -1 DO
		FOR j FROM 1 TO i DO
		!小于号从大排到小,反之从小到大
			IF arr_1{j} < arr_1{j + 1} THEN
				reg2 := arr_1{j};
				arr_1{j} := arr_1{j + 1};
				arr_1{j + 1} := reg2;
			ENDIF
		ENDFOR
	ENDFOR
	string1 := NumToStr(arr_1{1},0) +","+ NumToStr(arr_1{2},0) +","+ NumToStr(arr_1{3},0) +","+ NumToStr(arr_1{4},0) +","+ NumToStr(arr_1{5},0) +","+ NumToStr(arr_1{6},0) +","+ NumToStr(arr_1{7},0) +","+ NumToStr(arr_1{8},0) +","+ NumToStr(arr_1{9},0) +","+ NumToStr(arr_1{10},0);
	TPWrite string1;
ENDPROC

执行效果如下截图
在这里插入图片描述
改为大于号,再测试一遍,从小排到大。效果如下
在这里插入图片描述

  • 9
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值