ArgSort
Sắp xếp gián tiếp một ma trận hoặc vector.
cpp
vector vector::Sort(
func_name compare_func=NULL, // hàm so sánh
T context // tham số cho hàm sắp xếp tùy chỉnh
);
matrix matrix::Sort(
func_name compare_func=NULL // hàm so sánh
T context // tham số cho hàm sắp xếp tùy chỉnh
);
matrix matrix::Sort(
const int axis, // trục để sắp xếp
func_name compare_func=NULL // hàm so sánh
T context // tham số cho hàm sắp xếp tùy chỉnh
);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Tham số
axis
[in] Trục để sắp xếp: 0 là ngang, 1 là dọc.
func_name
[in] Bộ so sánh. Bạn có thể chỉ định một trong các giá trị của bảng liệt kê ENUM_SORT_MODE hoặc hàm so sánh của riêng bạn. Nếu không chỉ định hàm, sắp xếp tăng dần sẽ được sử dụng.
Hàm so sánh tùy chỉnh có thể thuộc hai loại:
int comparator(T x1,T x2)
int comparator(T x1,T x2,TContext context)
Ở đây T
là kiểu của ma trận hoặc vector, và TContext
là kiểu của biến context
được truyền dưới dạng tham số bổ sung cho phương thức Sort
.
context
[in] Tham số tùy chọn bổ sung có thể được truyền vào hàm sắp xếp tùy chỉnh.
Giá trị trả về
Vector hoặc ma trận chứa các chỉ số của các phần tử đã được sắp xếp. Ví dụ, kết quả [4,2,0,1,3]
cho biết rằng phần tử có chỉ số 4 nên ở vị trí 0, phần tử có chỉ số 2 ở vị trí thứ nhất, và cứ thế.