티스토리 뷰

Programming?/C++

[C] 정수형 퀵정렬

Erlka 2012. 6. 10. 12:23


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

int int_cmp(const void *a, const void *b);
void main()
{
    int i;
    int a[10] = {3,2,1,6,7,4,5,11,49,33};
    qsort(a, 10, sizeof(int), int_cmp); // 배열이름, 배열 크기, 배열의 자료형, 비교 대상 함수를 qsort에 전달
    for(i = 0; i<10; i++)
    {
        printf("%d ",a[i]);
    }
    printf("\n");
}

 

int int_cmp(const void *a, const void *b) // 넘어온 포인터는 void
{
    if(*(const int*)a < *(const int*)b) // *(const int*) : 강제 int 포인터로 형변환
    {
        return (-1);
    }
    else if(*(const int*)a == *(const int*)b)
    {
        return (0);
    }
    else
    {
        return (1);
    }

}

 



지금이야 데이터가 얼마 없어서 차이를 못느끼는것뿐.

데이터가 많으면 많을수록 빠른게 퀵정렬.
 
 

'Programming? > C++' 카테고리의 다른 글

[C] 구조체 최대값  (0) 2012.06.10
[C] 구조체 퀵정렬  (0) 2012.06.10
[C] 큐  (0) 2012.06.10
[C] 스택  (0) 2012.06.10
[C] 초간단 계산기  (0) 2012.06.10
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함