ArgSort

Classificação indireta de uma matriz ou vetor.

vector vector::Sort(
  func_name  compare_func=NULL // função de comparação
  T          context             // parâmetro para a função de classificação personalizada
   );
 
matrix matrix::Sort(
  func_name  compare_func=NULL   // função de comparação
  T          context             // parâmetro para a função de classificação personalizada
   );
 
matrix matrix::Sort(
  const int  axis,               // eixo para classificação
  func_name  compare_func=NULL   // função de comparação
  T          context             // parâmetro para a função de classificação personalizada
   );

Parâmetros

axis

[in]  Eixo para a realização da classificação: 0 – horizontal, 1 – vertical.

func_name

[in]  Comparador. Você pode especificar um dos valores da enumeração ENUM_SORT_MODE ou sua própria função de comparação. Se nenhuma função for especificada, é utilizada a classificação ascendente.
 
A função de comparação personalizada pode ser de dois tipos:

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

Neste caso T – tipo de matriz ou vetor, já TContex – tipo de variável context, passado como um parâmetro adicional ao método Sort.

context

[in]  Parâmetro opcional adicional que pode ser passado para uma função de classificação personalizada.

Valor retornado

Vetor ou matriz com índices de elementos classificados. Por exemplo, o resultado [4, 2, 0, 1, 3] indica que o elemento na posição zero do vetor ordenado deve ter o índice 4, o elemento na primeira posição deve ter o índice 2 e assim por diante.