精易论坛

标题: 数组排序返回数组下标 [打印本页]

作者: 凹凸◆小怪兽    时间: 5 小时前
标题: 数组排序返回数组下标
列子:
数组={3,56,24,68,2,98,155,21,24,38}
其中   数组最小排序{2,3,21,24,24,38,56,68,98,155}
          数组最小下标  5,1, 8,  3,  9, 10, 2, 4,   6,   7
          数组最大排序{155,98,68,56,38,24,24,21,3,2}
          数组最小下标     7, , 6 ,4 , 2  ,10, 9, 3,  8 ,1 ,5
然后返回数组的下标
如:
     数组最小排序{2,3,21,24,24,38,56,68,98,155}返回(5)
     数组最大排序{155,98,68,56,38,24,24,21,3,2}返回(7)

大神们有什么好的办法实现吗?我头发都快掉完了也没有想出来该怎么去写.


作者: zainex    时间: 5 小时前
如果你不需要其它信息,那么确实不用排序:
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
变量名类 型静态数组备 注
数组整数型0
整数型 
最大值整数型 
最大值下标整数型 
最小值整数型 
最小值下标整数型 
数组 = { 3, 56, 24, 68, 2, 98, 155, 21, 24, 38 }
最大值 = 数组 [1]
最大值下标 = 1
最小值 = 数组 [1]
最小值下标 = 1
计次循环首 (取数组成员数 (数组), 数)
如果真 (最大值 < 数组 [])
最大值 = 数组 []
最大值下标 = 数
如果真 (最小值 > 数组 [])
最小值 = 数组 []
最小值下标 = 数

计次循环尾 ()
调试输出 (最小值, 最小值下标)
调试输出 (最大值, 最大值下标)


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


作者: zainex    时间: 5 小时前
排序时,同时对索引进行排序就行了:
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
变量名类 型静态数组备 注
数组整数型0
索引整数型0
整数型 
整数型 
数组 = { 3, 56, 24, 68, 2, 98, 155, 21, 24, 38 }
重定义数组 (索引, 假, 取数组成员数 (数组))
计次循环首 (取数组成员数 (数组), 数)
索引 [] = 数
计次循环尾 ()
计次循环首 (取数组成员数 (数组), 数)
计次循环首 (取数组成员数 (数组) - 数, 值)
如果真 (数组 [] > 数组 [值 + 1])
交换变量 (数组 [], 数组 [值 + 1])
交换变量 (索引 [], 索引 [值 + 1])

计次循环尾 ()
计次循环尾 ()
调试输出 (数组)
调试输出 (索引, 索引 [1])


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

上面采用了冒泡排序,所以改成 数组 [值] < 数组 [值 + 1] 就是从大到小。


作者: aipca    时间: 5 小时前
  
子程序名返回值类型公开备 注
_按钮1_被单击  
变量名类 型静态数组备 注
数组整数型10
i整数型 
最小排序整数型10
最大排序整数型10
ii整数型 
最小下标整数型0
s整数型 
t整数型 
最大下标整数型0
数组 = { 3, 56, 24, 68, 2, 98, 155, 21, 24, 38 }
最小排序 = 数组
最大排序 = 数组
数组排序 (最小排序, )
数组排序 (最大排序, )
变量循环首 (取数组成员数 (最小排序), 1, -1, i)
变量循环首 (取数组成员数 (数组), 1, -1, ii)
如果真 (最小排序 [i] = 数组 [ii])
加入成员 (最小下标, ii)

变量循环尾 ()
变量循环尾 ()
数组_去重复 (, 最小下标)
变量循环首 (取数组成员数 (最大排序), 1, -1, s)
变量循环首 (取数组成员数 (数组), 1, -1, t)
如果真 (最大排序 [s] = 数组 [t])
加入成员 (最大下标, t)

变量循环尾 ()
变量循环尾 ()
数组_去重复 (, 最大下标)
调试输出 (最小排序)
调试输出 (最大排序)
调试输出 (最大下标)
调试输出 (最小下标)


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


作者: 笨来无一悟    时间: 4 小时前
只是为了找到最大最小 在什么位置 那根本不需要排序
作者: 凹凸◆小怪兽    时间: 3 小时前
笨来无一悟 发表于 2025-4-28 16:25
只是为了找到最大最小 在什么位置 那根本不需要排序

可以不用排序,只要找到就可以了,请问有什么思路吗




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