별의 공부 블로그 🧑🏻‍💻
728x90
728x170

*qosrt 함수 : 퀵 정렬 라이브러리 함수


- C에서 제공하는 퀵 정렬 표준 라이브러리 함수

- 사용하려면 <stdlib.h> 헤더 파일을 불러와야 한다.


void qsort(void *base, int num, int width, int (*compare)(const void *, const void *));
  • base : 배열의 시작 주소
  • num : 배열 요소의 개수
  • width : 배열 요소 하나의 크기(바이트 단위)
  • compare
    • 비교 함수
    • 포인터를 통하여 두 개의 요소를 비교하여 비교 결과를 정수로 반환
    • 사용자가 제공해야 함.
    • 반환값
      • < 0 : elem1이 elem2보다 작으면
      • 0    : elem1이 elem2와 같으면
      • > 0 : elem1이 elem2보다 크면

- 사용 예

#include <stdio.h>
#include <stdlib.h> // qsort()

int compare(const void *arg1const void *arg2) {
    if (*(double*)arg1 > *(double*)arg2) return 1;
    else if (*(double*)arg1 < *(double*)arg2) return -1;
    else return 0;
}

void main() {
     int i;
     double list[9] = {2.10.91.63.81.24.46.29.17.7};
     
     qsort((void*)list, 9sizeof(double), compare);
     for (i = 0; i < 9; i++) {
         printf("%4.1f "list[i]);
     }
}

  0.9  1.2  1.6  2.1  3.8  4.4  6.2  7.7  9.1


728x90
그리드형(광고전용)
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖