C 언어 qsort() 함수 사용 예제
#include <stdio.h>
#include <stdlib.h> // qsort()
// 오름차순으로 비교한 결과를 알려주는 사용자 정의 함수
// 반환값 1: a가 크다, -1: a가 작다, 0: 같다
int compare(const void *a, const void *b)
{
int num1 = *(int *)a; // int 포인터로 형변환한 후에 값을 가져옴
int num2 = *(int *)b; // int 포인터로 형변환한 후에 값을 가져옴
if (num1 < num2) // a가 작을 때 -1 반환
return -1; // 내림차순이면 1 지정
else if (num1 > num2) // a가 클 때는 1 반환
return 1; // 내림차순이면 -1 지정
else
return 0; // 같을 때는 0 반환
}
int main(void)
{
int i;
int arr[10] = { 50, 40, 30, 20, 10, 60, 70, 80, 90, 0 };
qsort(arr, sizeof(arr)/sizeof(arr[0]), sizeof(arr[0]), compare);
for (i=0; i<10; i++)
printf("%d ", arr[i]); // 0 10 20 30 40 50 60 70 80 90
return 0;
}
'C' 카테고리의 다른 글
C 언어, 섭씨 화씨 온도 변환 예제 (0) | 2018.12.01 |
---|---|
C 언어, 삼각형 구조 텍스트 출력 예제 (0) | 2018.10.27 |
[네트워크] 소켓프로그래밍 기초, 활용 가이드 링크 (0) | 2018.09.02 |
C 언어, 팰린드롬 Palindrome 소스 (0) | 2018.08.27 |
C 언어, 피보나치 수열 for 문으로 구하기 (0) | 2018.08.06 |