̷ Լ ˰ ⺻ ⺻̴. α ۼϴ ƾ ־ qsort ߴµ ݺ Ƚ ʾҴ. C++ sort ; Ʈ ô.
Win32 ø̼ ϳ 콺 , ʿ qsort sort ȣ Ҵ. 1 ݺ ð ϴ ̴.
int compare(const void* a, const void* b)
{
if (*(int *)a == *(int *)b) return 0;
if (*(int*)a > *(int*)b) return 1;
return -1;
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
int ar[] = { 5, 6, 10, 2, 20, 1, 12, 16, 3, 19, 4, 8, 18, 11, 17, 7, 13, 9, 15, 14};
int ar2[20];
DWORD st, ed;
TCHAR str[128];
switch (iMessage) {
case WM_CREATE:
hWndMain = hWnd;
return 0;
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
EndPaint(hWnd, &ps);
return 0;
case WM_LBUTTONDOWN:
st = GetTickCount();
for (int i = 0; i < 100000000; i++) {
memcpy(ar2, ar, sizeof(ar));
sort(&ar2[0], &ar2[sizeof(ar) / sizeof(ar[0])]);
}
ed = GetTickCount();
wsprintf(str, TEXT("%d"), ed - st);
SetWindowText(hWnd, str);
return 0;
case WM_RBUTTONDOWN:
st = GetTickCount();
for (int i = 0; i < 100000000; i++) {
memcpy(ar2, ar, sizeof(ar));
qsort(&ar2[0], sizeof(ar)/sizeof(ar[0]), sizeof(int), compare);
}
ed = GetTickCount();
wsprintf(str, TEXT("%d"), ed - st);
SetWindowText(hWnd, str);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return(DefWindowProc(hWnd, iMessage, wParam, lParam));
}
20 迭 ϰ Ź ̰ ؼ ٽ Ѵ. ¿ ˰ ӵ ̰ ְ 16 ̸ ̴.
qsort ϴµ sort ġ ϰ ܵ ؾ Ѵ. STL Ե ʴ´. 20 1 ð ߴ.
qsort : 47.3
sort : 4.6
10 ̰ . memcpy ȣ ־ ӵ ƴ ̰ ִ. 迭 ũⰡ ٲ ־ ũ⸦ 5 ٽ ô.
qsort : 5.75
sort : 0.81
뷫 7 ̳. ·ų sort . qsort C Լ sort C++ Լε C Լ . .
- qsort compare ȣϿ Լ ȣ 尡 ִ. sort less Ǵ greater Լ ü ϴµ ڵ尡 ζ óǾ .
- qsort ϱ Լ void * ּҸ ѱ. Լ ̰ ٽ Ÿ ij ϴ . sort ø ̾ Ÿ ̹ ü ٷ Ѵ.
Ʈ ˰ 迭 ³ ũ ־ ȿ ϰ . sort , , ˰ Ȳ ؼ introsort ˰ Ѵ. 16 ϸ ̸̻ ̳ Ǿ ־ .
Ȥó ؼ ˰ ζ ôµ sort Լ ӵ ϴ. sort Ǿ ־ 20 ̰ ̴. qsort ܼ Լ ȣϴ ־ ״ ȿ ʴ. sort ϵ .
õ SoEn 사동콜걸
복흥면번개만남
공릉역출장만남
성남출장안마,경주출장만남 정읍출장안마
고딩ㅈㄱ
장목면성인맛사지
포천콜걸샵 | 군산출장마사지 | 대구콜걸샵
수원출장마사지 | 부천출장안마 | 출장대행후기
신이문역타이마사지
당진출장마사지,김제콜걸샵,출장홈타이
갈말읍 마사지
소개팅소개팅후
동남아여자 외도녀
아리19 짤
여동생최면망가
전사휴무 | 재테크 하는 방법 | 부업 구인
대출 상환 영어로✓bnk저축은행 연봉✓50대일자리
먹방요정
팔로우백
아기패피
지산동맛집
청양띠아들
아기선물
한남동맛집
개월아기
미투디스크
문경출장마사지
성인만화 성교육
에로게 h도 게임도 개발중
양파종자
|
|