ArgSort

矩阵或向量的间接排序。

vector vector::Sort(
  func_name  compare_func=NULL // 比较函数
  T          context             // 自定义排序函数的参数
   );
 
matrix matrix::Sort(
  func_name  compare_func=NULL   // 比较函数
  T          context             // 自定义排序函数的参数
   );
 
matrix matrix::Sort(
  const int  axis,               // 排序轴
  func_name  compare_func=NULL   // 比较函数
  T          context             // 自定义排序函数的参数
   );

参数

axis

[输入]  要排序的轴:0 是水平,1 是垂直。

func_name

[输入]  比较器。 您可以指定 ENUM_SORT_MODE 枚举值之一,或您自己的比较函数。 如果未指定函数,则采用升序排序。
 
自定义比较函数可以有两种类型:

  • int comparator(T x1,T x2)
  • int comparator(T x1,T x2,TContext context)

此处 T 是矩阵或向量的类型,而传递给 Sort 方法的附加参数 TContex 则是作为“上下文关联”变量类型。

context

[输入] 可传递给自定义排序函数的其它可选参数。

返回值

含有已排序元素索引的向量或矩阵。 例如,结果 [4,2,0,1,3] 指示元素 4 其索引应该位于零位置,元素 2 其索引位于第一个位置,依此类推。