Foxtable(狐表)用户栏目专家坐堂 → 数组排序出错,帮忙给分析下吧


  共有2063人关注过本帖树形打印复制链接

主题:数组排序出错,帮忙给分析下吧

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/21 9:37:00 [显示全部帖子]

第一个数组相同的时候,是无法再按照你预想的,根据另外数值大小排序的。array.sort没有这种功能。

 

你可以变通处理一下,循环第一个数组,假如值为 (10,5,9,4,4),另一个数组为(1,2,3,4,2),把第一个数组改成(10-01, 05-02, 09-03, 04-04, 04-02),然后再排序。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/21 10:26:00 [显示全部帖子]

1、和你说的double没有关系,结果一样不对

 

Dim ary1() As Double = {10,5,9,4,4}
Dim ary2() As Double = {1,2,3,4,2}
'Dim pxsz(ary1.length-1) As Double   '定义一个数组pxsz
'ary1.CopyTo(pxsz, 0)
'Array.Sort(pxsz,ary2)  'pxsz数组为排序数组,args(i)数组跟随pxsz数组排序
array.sort(ary1, ary2)
For Each s As String In ary2
    output.show(s)
Next

 

2、参考代码

 

Dim ary1() As Double = {10,5,9,4,4}
Dim ary2() As Integer = {1,2,3,4,2}
Dim pxsz(ary1.length-1) As String   '定义一个数组pxsz
For i As Integer = 0 To ary1.length-1
    pxsz(i) = Format(ary1(i), "000") & Format(ary2(i), "000")
Next
Array.Sort(pxsz,ary2)  'pxsz数组为排序数组,args(i)数组跟随pxsz数组排序

For Each s As String In ary2
    output.show(s)
Next

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/21 11:15:00 [显示全部帖子]

假设你一个值的字符数是10个,如 0012300456,那么占用内容等于

 

10 * 1(字节) * 20万 = 200万byte = 200万 / 1000 kb = 2000 kb = 2mb

 

 

 


 回到顶部