Contents

Develop
2003.04.23 11:00

[c] 문자열 정렬 함수 qsort()

조회 수 8261 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
기능
quicksort 알고리즘을 이용하여 정렬한다.

문법
#include <stdlib.h> 
void qsort(void *base, size_t nelem, size_t width, int(*fcmp)(const void *, const_void*));
DOSUNIXWindowsANSI CC++ only
  

주석
qsort는 quicksort 알고리즘의 변형인 "3의 메디안"을 구현한 것이다.

qsort는 fcmp가 가리키는 사용자 정의 비교함수를 반복적으로 호출하여 테이블 내의 엔트리를 정렬한다.

■ base는 정렬될 테이블의 기준(0번째 원소)을 가리킨다.
■ nelem은 테이블 내의 엔트리의 갯수이다.
■ width는 byte 단위로 표시된 테이블 내의 각 엔트리의 크기이다.

비교함수 *fcmp는 각각 테이블 내의 엔트리를 지시하는 두 개의 인수 elem1과 elem2를 받아들인다.
지시된 개개의 항목들(*elem 1과 *elem2)을 비교하고 비교한 결과에 따라 다음과 같은 정수를 반환한다.

*elem1 < *elem2 fcmp은 0보다 작은 정수를 반환한다.
*elem1 == *elem2 fcmp은 0을 반환한다.
*elem1 > *elem2 fcmp은 0보다 큰 정수를 반환한다.

비교시 '보다 작음' 기호(<)는 좌측원소가 우측원소보다 뒤에 나타나야 함을 의미한다.

반환값
없음.

참조
bsearch, lsearch

예제
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int sort_function( const void *a, const void *b);
char list[5][4] = { "cat", "car", "cab", "cap", "can" };

int main(void){
    int x;
    qsort((void *)list, 5, sizeof(list[0]), sort_function);
    for (x = 0; x < 5; x++) printf("%sn", list[x]);
    return 0;
}

int sort_function( const void *a, const void *b){
    return( strcmp((char *)a,(char *)b) );
}


?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
609 Develop [c#] 파일(File) 쓰기 ㅎㅎ hooni 2013.04.23 13314
608 Develop [php] 한샘 전자발주 시스템.. file hooni 2013.04.23 12015
607 Develop [jsp] RSS(xml) 파싱해서 보여주기 ㅎㅎ file hooni 2013.04.23 13229
606 System/OS [windows] 최근 열어본 문서목록 안나오게 하는 방법 hooni 2013.04.23 25552
605 Develop [php] 심플한 게시판 ㅋㅋ 1 file hooni 2013.04.23 13020
604 PPT [ppt] 뚜레쥬르 온라인 마케팅 제안서 file hooni 2013.04.23 23525
603 Develop [c++] 현승이가 준 P2P 프로그램 소스 ㅋㅋ file hooni 2013.04.23 12091
602 Develop [c++] BHO 프로그램 동작 원리.. 간단하게.. hooni 2013.04.23 43134
601 PPT [ppt] 시스템보안 연구실 ppt 템플릿.. (CIST) file hooni 2013.04.23 20916
600 Etc 스파이웨어(BHO) 탐지하는 방법.. hooni 2013.04.23 44456
599 Develop OPT와 CAS에 대한 자료.. (교수님 메일로 보내드린 자료..) file hooni 2013.04.23 13958
598 Develop [doc] 테크니컬 레포트 (BHO 취약점을 이용한 공격) 2 file hooni 2013.04.23 27122
Board Pagination Prev 1 ... 43 44 45 46 47 48 49 50 51 52 ... 98 Next
/ 98