본문으로 바로가기

바다야크

  1. Home
  2. 컴퓨터/프로그래밍
  3. C언어 퀵소트 함수 qsort()

C언어 퀵소트 함수 qsort()

· 댓글개 · 바다야크

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
]$
SNS 공유하기
💬 댓글 개
이모티콘창 닫기
울음
안녕
감사해요
당황
피폐

이모티콘을 클릭하면 댓글창에 입력됩니다.