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

[in] 並び替えの軸(0は水平方向、1は垂直方向)

func_name

[in] 比較関数。ENUM_SORT_MODE列挙の値の1つまたは独自の比較関数を指定できます。関数が指定されていない場合、昇順での並び替えが使用されます。
 
カスタム比較関数には次の2種類があります。

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

ここで、Tは行列/ベクトルの型であり、TContexは、Sortメソッドに追加パラメータとして渡されるcontext変数の型です。

context

[in] カスタム並べ替え関数に渡すことができる追加のオプションパラメータ

戻り値

並び替えられた要素のインデックスを持つベクトルまたは行列。たとえば、結果 [4,2,0,1,3] は、位置0にインデックス4を持つ要素、位置1にインデックス2を持つ要素などがあることを示します。