컴퓨터 공학
퀵정렬에서 피봇을 선택하는 방법
혼새미로
2018. 9. 12. 19:25
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | n = high - low + 1; b = (low + high) >> 1;//middle element if (n>7) { a = low; c = high; if (n > 40) { d = n >> 3; a = MED3(a, a + d, a + 2 * d); b = MED3(b - d, b, b + d); c = MED3(c - 2 * d, c - d, c); } b = MED3(a, b, c); } if (b != high) { tmp = arr[high]; arr[high] = arr[b]; arr[b] = tmp; } | cs |