qsort 함수는 배열을 정렬하는 데 사용되는 C 언어의 라이브러리 함수입니다. qsort 함수는 매우 일반적이고 모든 유형의 배열을 처리할 수 있지만 비교 함수는 특히 복잡한 데이터 구조를 처리할 때 복잡해질 수 있습니다.
qsort 함수는 배열을 정렬하는 데 사용되는 C 언어의 라이브러리 함수입니다. 이는
void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*));
다음은 qsort 함수의 매개변수 설명입니다.
base: 정렬할 배열의 첫 번째 개체에 대한 포인터입니다.
items: 배열의 요소 수입니다.
size: 각 요소의 크기. 일반적으로 sizeof 연산자를 사용하여 구합니다.
compar: 두 요소의 순서를 결정하는 데 사용되는 비교 함수입니다. 이 함수는 비교할 요소를 가리키는 두 개의 포인터를 허용하고 첫 번째 요소가 두 번째 요소보다 작으면 음수를 반환하고, 같으면 0을, 첫 번째 요소가 두 번째 요소보다 크면 양수를 반환해야 합니다.
다음은 정수 배열을 정렬하는 qsort 함수를 사용하는 예입니다.
#include <stdio.h> #include <stdlib.h> // 比较函数,用于决定排序 int compare(const void *a, const void *b) { int int_a = *((int*) a); int int_b = *((int*) b); if (int_a == int_b) return 0; else if (int_a < int_b) return -1; else return 1; } int main() { int i; int numbers[] = {7, 3, 4, 1, -1, 23, 12, 43, -8, 5}; int size = sizeof(numbers) / sizeof(int); // 对数组进行排序 qsort(numbers, size, sizeof(int), compare); // 输出排序后的数组 for(i = 0; i < size; i++) { printf("%d ", numbers[i]); } return 0; }
참고: qsort 함수는 매우 다양하고 모든 유형의 배열을 처리할 수 있지만 비교 함수는 복잡해질 수 있습니다. 특히 다음과 같은 경우에는 더욱 그렇습니다. 복잡한 데이터 구조를 다루고 있습니다. 비교 함수를 작성할 때 예상대로 작동하는지 확인하세요.
위 내용은 qsort 기능을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!