본문 바로가기

C++

(C, C++) - 퀵소트(Quick Sort)(quick sort) 라이브러리에서 사용하기

반응형
 
#include <stdio.h>      
#include <stdlib.h>     /* qsort */퀵소트를 위한 라이브러리

int values[] = { 40, 10, 100, 90, 20, 25 };

int compare (const void * a, const void * b)
{
  return ( *(int*)a - *(int*)b );
}

int main ()
{
  int n;
  qsort (values, 6, sizeof(int), compare);//(배열의 이름, 정렬을 원하는 배열 개수, 자료형의 크기, 함수)
  for (n=0; n<6; n++)
     printf ("%d ",values[n]);
  return 0;
}

이렇게 하시면 컴파일 결과는 오름차순으로 나옵니다

내림차순으로 정렬하고 싶으시면 compare 함수의 리턴 부분을 return *(int*)b-*(int*)a;라 해주시면 됩니다