我在公式里试了一下,好像没有效果。在“内建函数”中也没有找到这两个函数。谢谢!
可以用,这两个是系统函数。可在帮助中心查找使用说明
代码:
OnBar(ArrayRef<Integer> indexs)
{
  //参数
  Array<Numeric> ArrNumSource;//被排序数组
  Array<Integer>   ArrIntIndex      ;//排序得到的下标
  Integer                intI                   ;//循环计数器
  
  //数组赋值
  ArrNumSource[0] = -0.337;
  ArrNumSource[1] = 4        ;
  ArrNumSource[2] = 311   ;
  ArrNumSource[3] = 0.13  ;
  ArrNumSource[4] = -10   ;
  ArrNumSource[5] = 778   ;
  ArrNumSource[6] = -776  ;
  ArrNumSource[7] = 7       ;
  ArrNumSource[8] = 7      ;
  ArrNumSource[9] = 0     ;
  
  If(gvalue[0]==0)
  {  
    Na1Sort2(ArrNumSource,//被排序数组
                     ArrIntIndex     ,//排序后生成的下标数组
                     0                     ,//开始位置
                     9                     ,//结束位置
                     False             );//降序排列
    For intI = 0 To 9
    {
      FileAppend("C:\\tblog\\printOut "," 序号:"       +Text(intI)
                                                           +" 原数组:"    +Text(ArrNumSource[intI])
                                                           +" 下标排序:"+Text(ArrIntIndex[intI])
                                                           +" 数值倒序:"+Text(ArrNumSource[ArrIntIndex[intI]]));
    }
    gvalue[0] = 1;
  }
}
输出结果:
序号:0 原数组:-0.337 下标排序:0 数值倒序:-0.337
序号:1 原数组:4 下标排序:0 数值倒序:-0.337
序号:2 原数组:311 下标排序:0 数值倒序:-0.337
序号:3 原数组:0.13 下标排序:0 数值倒序:-0.337
序号:4 原数组:-10 下标排序:0 数值倒序:-0.337
序号:5 原数组:778 下标排序:0 数值倒序:-0.337
序号:6 原数组:-776 下标排序:0 数值倒序:-0.337
序号:7 原数组:7 下标排序:0 数值倒序:-0.337
序号:8 原数组:7 下标排序:0 数值倒序:-0.337
序号:9 原数组:0 下标排序:0 数值倒序:-0.337
请帮忙看一下哪里出了问题,为什么排序后下标值为0,谢谢!