精易论坛

标题: 数组按从到小排序怎么写 [打印本页]

作者: kv2005w    时间: 2022-10-15 09:05
标题: 数组按从到小排序怎么写
.版本 2

.局部变量 数组, 文本型, , "0"

数组 = { “科技”, “1”, “数字”, “电子”, “9”, “数字”, “飞拓”, “3”, “数字”, “信息”, “4”, “数字”, “传播”, “6”, “数字”, “信息11”, “2”, “数字”, “集团”, “5”, “数字”, “天地”, “7”, “数字”, “科技”, “2”, “增长”, “建源”, “1”, “增长”, “国科”, “3”, “教育”, “博传”, “2”, “教育”, “澳康”, “1”, “教育”, “澳洋”, “1”, “民营”, “天地”, “1”, “防治” }
重定义数组 (数组, 真, 取数组成员数 (数组) ÷ 3, 3)


二维数组已准备好

求教 如下图,一个二维数组, 按 类型相同的,数量从小到大排序,这怎么写。

    排序的数组


补充内容 (2022-10-15 09:51):
哪个大哥,能给个源码,  类型顺序是不变 数量 从小到大
作者: Suky    时间: 2022-10-15 09:05
  
变量名类 型静态数组备 注
排序数量整数型 
数组文本型0
n整数型 
i整数型 
数组 = { “科技”, “1”, “数字”, “电子”, “9”, “数字”, “飞拓”, “3”, “数字”, “信息”, “4”, “数字”, “传播”, “6”, “数字”, “信息11”, “2”, “数字”, “集团”, “5”, “数字”, “天地”, “7”, “数字”, “科技”, “2”, “增长”, “建源”, “1”, “增长”, “国科”, “3”, “教育”, “博传”, “2”, “教育”, “澳康”, “1”, “教育”, “澳洋”, “1”, “民营”, “天地”, “1”, “防治” }
排序数量 = 取数组成员数 (数组) ÷ 3
重定义数组 (数组, 真, 排序数量, 3)
调试输出 (数组)
计次循环首 (排序数量, n)
计次循环首 (排序数量 - n, i)
如果真 (数组 [i] [3] = 数组 [i + 1] [3])
如果真 (数组 [i] [2] > 数组 [i + 1] [2])
交换变量 (数组 [i] [1], 数组 [i + 1] [1])
交换变量 (数组 [i] [2], 数组 [i + 1] [2])
交换变量 (数组 [i] [3], 数组 [i + 1] [3])


计次循环尾 ()
计次循环尾 ()
调试输出 (数组)


i支持库列表   支持库注释   
spec特殊功能支持库


看你的意思    大概是这样的

补充内容 (2022-10-15 10:04):
类型位置不变,只是同类型的按数字大小排序,那就是这样子没错了,直接略掉对类型的排序即可

补充内容 (2022-10-15 10:23):
因为类型相同,所以其实类型那一维可以不进行交换变量操作的,也就是说   交换变量 (数组 [3], 数组 [i + 1] [3]) 这行可以删掉
作者: xbwdl    时间: 2022-10-15 09:13
11.7.2_自定义数据类型数组排序.zip (4.02 KB, 下载次数: 12)

作者: Suky    时间: 2022-10-15 09:25
这种用自定义数据类型排序后再重新丢回去数组其实能更容易处理一些
直接用多维数组排序的话    需要点时间整理一下
作者: |﹎℡若即    时间: 2022-10-15 09:38
  
变量名类 型静态数组备 注
数组文本型45
数组_文本型0
i整数型 
ii整数型 
数组 = { “科技”, “1”, “数字”, “电子”, “9”, “数字”, “飞拓”, “3”, “数字”, “信息”, “4”, “数字”, “传播”, “6”, “数字”, “信息11”, “2”, “数字”, “集团”, “5”, “数字”, “天地”, “7”, “数字”, “科技”, “2”, “增长”, “建源”, “1”, “增长”, “国科”, “3”, “教育”, “博传”, “2”, “教育”, “澳康”, “1”, “教育”, “澳洋”, “1”, “民营”, “天地”, “1”, “防治” }
计次循环首 (取数组成员数 (数组) ÷ 3, i)
ii (i - 1) × 3
加入成员 (数组_, 数组 [ii + 3]“|” + 数组 [ii + 2]“|” + 数组 [ii + 1])
计次循环尾 ()
数组_排序 (数组_, 0, )
调试输出 (数组_)


i支持库列表   支持库注释   
spec特殊功能支持库

最后把结果循环分割文本,应该就能用了
作者: kv2005w    时间: 2022-10-15 09:47
都不行,最好不要自定义数据,转来转去太麻烦了
作者: kv2005w    时间: 2022-10-15 09:50
|﹎℡若即 发表于 2022-10-15 09:38
[e=1].版本 2
.支持库 spec

你这也不行,完全反了, 数字 类型要在前的,你这方法 到最后去了。就是 类型要不变的,只的 数量 排大小
作者: Suky    时间: 2022-10-15 09:51
  
变量名类 型静态数组备 注
排序数量整数型 
数组文本型0
数组2文本型0
n整数型 
i整数型 
数组 = { “科技”, “1”, “数字”, “电子”, “9”, “数字”, “飞拓”, “3”, “数字”, “信息”, “4”, “数字”, “传播”, “6”, “数字”, “信息11”, “2”, “数字”, “集团”, “5”, “数字”, “天地”, “7”, “数字”, “科技”, “2”, “增长”, “建源”, “1”, “增长”, “国科”, “3”, “教育”, “博传”, “2”, “教育”, “澳康”, “1”, “教育”, “澳洋”, “1”, “民营”, “天地”, “1”, “防治” }
排序数量 = 取数组成员数 (数组) ÷ 3
重定义数组 (数组, 真, 排序数量, 3)
调试输出 (数组)
计次循环首 (排序数量, n)
计次循环首 (排序数量 - n, i)
如果真 (数组 [i] [3] > 数组 [i + 1] [3])
交换变量 (数组 [i] [1], 数组 [i + 1] [1])
交换变量 (数组 [i] [2], 数组 [i + 1] [2])
交换变量 (数组 [i] [3], 数组 [i + 1] [3])

计次循环尾 ()
计次循环尾 ()
调试输出 (数组)
计次循环首 (排序数量, n)
计次循环首 (排序数量 - n, i)
如果真 (数组 [i] [3] = 数组 [i + 1] [3])
如果真 (数组 [i] [2] > 数组 [i + 1] [2])
交换变量 (数组 [i] [1], 数组 [i + 1] [1])
交换变量 (数组 [i] [2], 数组 [i + 1] [2])
交换变量 (数组 [i] [3], 数组 [i + 1] [3])


计次循环尾 ()
计次循环尾 ()
调试输出 (数组)


i支持库列表   支持库注释   
spec特殊功能支持库


看看这个    好玩不

补充内容 (2022-10-15 09:57):
如果你的文本组里   相同类型的都挨在一起,那直接把第一个双层循环删掉即可
作者: |﹎℡若即    时间: 2022-10-15 09:58
kv2005w 发表于 2022-10-15 09:50
你这也不行,完全反了, 数字 类型要在前的,你这方法 到最后去了。就是 类型要不变的,只的 数量 排大小 ...
  
变量名类 型静态数组备 注
数组文本型45
数组_文本型0
数组_2文本型0
i整数型 
ii整数型 
iii整数型 
上一个类型文本型 
类型文本型 
fg文本型0
数组 = { “科技”, “1”, “数字”, “电子”, “9”, “数字”, “飞拓”, “3”, “数字”, “信息”, “4”, “数字”, “传播”, “6”, “数字”, “信息11”, “2”, “数字”, “集团”, “5”, “数字”, “天地”, “7”, “数字”, “科技”, “2”, “增长”, “建源”, “1”, “增长”, “国科”, “3”, “教育”, “博传”, “2”, “教育”, “澳康”, “1”, “教育”, “澳洋”, “1”, “民营”, “天地”, “1”, “防治” }
计次循环首 (取数组成员数 (数组) ÷ 3, i)
ii (i - 1) × 3
类型 = 数组 [ii + 3]
如果真 (类型 ≠ 上一个类型)
数组_排序 (数组_, 0, )
计次循环首 (取数组成员数 (数组_), iii)
fg = 分割文本 (数组_ [iii], “|”, )
数组_ [iii] = fg [3]“|” + fg [2]“|” + fg [1]
计次循环尾 ()
加入成员 (数组_2, 数组_)
清除数组 (数组_)
上一个类型 = 类型
加入成员 (数组_, 数组 [ii + 3]“|” + 数组 [ii + 2]“|” + 数组 [ii + 1])
计次循环尾 ()
调试输出 (数组_2)


i支持库列表   支持库注释   
spec特殊功能支持库


作者: kv2005w    时间: 2022-10-15 09:59
Suky 发表于 2022-10-15 09:51
[e=1].版本 2
.支持库 spec

你这个也不行,你这个输出 后成这样了。你这个方法 类型位置变了,  类型顺序 要不变的, 类型相同的,数量 从小到大就行了
天地        1        防治”
澳康        1        教育”
博传        2        教育”
国科        3        教育”
澳洋        1        民营”
科技        1        数字”
信息11        2        数字”
飞拓        3        数字”
信息        4        数字”
集团        5        数字”
传播        6        数字”
天地        7        数字”
电子        9        数字”
建源        1        增长”
科技        2        增长”

作者: kv2005w    时间: 2022-10-15 10:24
Suky 发表于 2022-10-15 10:00
[e=4].版本 2
.支持库 spec

利害,我的哥,就是这样的,感谢




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4