Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

사용법

#include <stdlib.h>

void qsort(void *base, size_t nmemb, size_t size,
           int(*compar)(const void *, const void *));

설명

qsort() 함수는 nmemb의 크기를 가지는 배열을 QuickSort(:12)한다. 배열의 요소는 size크기를 가진다. 마지막 인자로 정렬에 사용될 함수인 compar의 포인터를 넘겨준다.

compar함수는 더 크면 0, 작거나 같으면 0보다 큰 수를 리턴하도록 만든다.

예제

#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define MAX 1000000

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

int main()
{
  int *a;
  int i;
  int *c;

  a = (int *)malloc(sizeof(int)*MAX);
  clock_t stime, etime;

  for (i = 0; i < MAX; i++)
  {
    a[i] = random()%MAX;
  }

  stime = clock();
  qsort( a, MAX, sizeof(int), fn_qsort_intcmp );
  etime = clock();
  printf("Time : %.3fs\n",(double)(etime - stime)/CLOCKS_PER_SEC);
  return 0;
}