qsort_r으로 비교 함수에서 외부 매개 변수를 사용할 수 있습니다. 예를 들어,STL std :: qtort_r을 사용하여 정렬
int cmp_with_parameter(void *a, void *b, void *p)
{
return (int*)p[*(int*)a] - (int*)p[*(int*b)];
}
int main() {
int values[] = {1,2,3,4};
int arr[] = {0, 1, 2, 3};
qsort_r(arr, 4, sizeof(arr[0]), cmp_with_parameter, values);
}
우리는 values[]
의 값에 의해 int arr[]
을 정렬 할 수 있습니다.
이제 std :: sort와 비슷한 함수를 구현하고 싶습니다. std :: sort에서 외부 값을 사용할 수 있습니까? 미리 감사드립니다.
Functor 및/또는 익명 함수 개체 (또는 "lambda")를 읽습니다. – juanchopanza
참조 나 다른 편의에 따라 매개 변수를 사용자 지정 비교기에로드하십시오. – WhozCraig