ArgSort
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 其索引位于第一个位置,依此类推。