您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

关于数据大小排列同时又要考虑序号的问题

2024/12/24 23:55:30发布15次查看
之前有网友提问,比如 1到5号仓对应5个重量,将重量从小到大排列好以后,还要能够知道从小到大的这个重要对应的仓号;排序很简单,但是对号入座有点麻烦了;我是这么做的,先将源数据拷贝到一个位置,然后在分配一个相同大小的位置,按现有的结构分配5个编号,当用冒泡法进行数据排序的时候,序号跟着一起变动,这样好像就解决问题了;
在db10里定义若干个int数据类型dbw0到dbw8为源数据,dbw10到dbw18为数据排序的位置,dbw20到dbw28为序号。
call blkmov
srcblk :=p#db10.dbx 0.0 int 5
ret_val:=#temp1
dstblk :=p#db10.dbx 10.0 int 5 //先做一个数据的拷贝
opn db 10
lar1 p#20.0
l 1
t #temp3
l 5
c001: t #loop3
l #temp3
t dbw [ar1,p#0.0]
l #temp3
+ 1
t #temp3
+ar1 p#2.0
l #loop3
loop c001 //循环写入1到5的序号
l 4
a003: t #loop1
lar1 p#10.0
l 4
a002: t #loop2
l dbw [ar1,p#0.0]
l dbw [ar1,p#2.0]
>i
jcn a001
l dbw [ar1,p#0.0]
t #temp2
l dbw [ar1,p#2.0]
t dbw [ar1,p#0.0]
l #temp2
t dbw [ar1,p#2.0] //数据大小的排列
l dbw [ar1,p#10.0]
t #temp4
l dbw [ar1,p#12.0]
t dbw [ar1,p#10.0]
l #temp4
t dbw [ar1,p#12.0] //序号也要跟着走
a001: +ar1 p#2.0
l #loop2
loop a002
l #loop1
loop a003
模拟后的图片:
以重量为30为例,对应的就是4号仓,正确的。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product