티스토리 뷰
#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
TAG
- jdbc
- 이건사야되!
- HTML
- Android
- spring
- Unleashed
- jsp
- DnF_카인
- 무사헌터G
- java
- 포세리앙 시밤...
- PSP
- League of legends
- C Programming
- PS VITA
- XML
- Talesweaver_Palshu
- oracle
- GOD EATER2
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함