C함수 퀵소트 qsort()
테이블의 자료를 퀵 소트로 내림이나 올림 차순으로 정렬합니다.
- 헤더: search.h
- 형태: void qsort(void *base, size_t nel, size_t width, int (*compar)(const void *, const void *))
- 인수: void *base 테이블의 포인터 주소
size_t nel table에 들어 있는 실제 데이터 개수
size_t width 한 개 요소의 크기
int (*compar)(const void *, const void *) 두 요소를 비교하기 위한 함수 포인터 - 반환: -
C언어 qsort() 함수 예제
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int compare( const void *cmp1, const void *cmp2)
{
return strcmp( (char *)cmp1, (char *)cmp2);
}
#define SIZE_TABLE 10
#define SIZE_ITEM 100
int main( void)
{
char table[SIZE_TABLE][SIZE_ITEM] = {
"jwjw",
"badayak",
"com",
"jwmx",
"Linux",
"GCC",
"Programming"
};
int ndx;
for ( ndx = 0; ndx < SIZE_TABLE; ndx++)
printf( "%s\n", table[ndx]);
printf( "\n소트 후\n");
qsort( table, SIZE_TABLE, SIZE_ITEM, compare);
for ( ndx = 0; ndx < SIZE_TABLE; ndx++)
printf( "%s\n", table[ndx]);
return 0;
}
C언어 qsort() 예제 실행 결과
]$ ./a.out
jwjw
badayak
com
jwmx
Linux
GCC
Programming
n소트 후
GCC
Linux
Programming
badayak
com
jwjw
jwmx
]$
'컴퓨터 > 프로그래밍' 카테고리의 다른 글
C언어 현재 시간 값 구하기 함수 time() (0) | 2020.03.14 |
---|---|
C언어 해시 테이블 삭제 함수 hdestroy() (0) | 2020.03.14 |
C언어 해시 테이블에서 자료 검색 함수 hsearch() (0) | 2020.03.14 |