C/C++ 언어 qsort() 함수를 이용한 수와 문자의 정렬 예제 프로그램
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | #include <stdio.h> #include <stdlib.h> #include <string.h> int compare(int *a, int *b); int r_compare(int *a, int *b); /*내림차순*/ int str_compare(char *a, char *b); #define NUM_COUNT 10 #define STR_COUNT 5 void main(void) { int num[NUM_COUNT] = {4,1,5,9,3,2,8,6,7,4}; int i = 0; size_t strings_len = 0; char *str[STR_COUNT] = {"Korea", "Japan", "America", "China", "France"}; printf("number Asending order : "); qsort(num, NUM_COUNT ,sizeof(int), (int(*)(const void *,const void *))compare); for (i = 0; i < NUM_COUNT; i++) { printf("%d ", num[i]); } printf("\nnumber Desending order : "); qsort(num, NUM_COUNT, sizeof(int), (int(*)(const void *,const void *))r_compare); for (i = 0; i < NUM_COUNT; i++) { printf("%d ", num[i]); } printf("\nstring Asending order : "); strings_len = sizeof(str) / sizeof(char *); qsort(str, strings_len, sizeof(char *), (int(*)(const void *,const void *))str_compare); for (i = 0; i < STR_COUNT; i++) { printf("%s ", str[i]); } printf("\n"); } int compare(int *a, int *b) { return (*a - *b); } int r_compare(int *a, int *b) { return (*b - *a); } int str_compare(char *a, char *b) { const char **a1 = (const char **)a; const char **b1 = (const char **)b; return strcmp(*a1, *b1); } | cs |
C/C++ 언어 qsort() 함수를 이용한 수와 문자의 정렬 예제 프로그램
'C,C++ > 예제' 카테고리의 다른 글
| C/C++ 언어 atoi() 함수 사용 예제 프로그램 (0) | 2016.05.26 |
|---|---|
| C/C++ 언어 math() 함수 예제 프로그램 (0) | 2016.05.26 |
| C/C++ 언어 rand() 함수를 이용한 예제 프로그램 (0) | 2016.05.20 |
| C/C++ 언어 시간 처리 함수 예제 프로그램 (0) | 2016.05.20 |
| C/C++ 언어 1900년 1월 1일부터 지난 일수 구하기 예제 프로그램 (0) | 2016.03.15 |