#include using namespace std; void heapify(int *array, int index, int size) { for (int ch = (index << 1) | 1; ch < size; index = ch, ch = ch << 1 | 1) { if (ch + 1 < size && array[ch + 1] > array[ch]) ++ch; if (array[ch] <= array[index]) return; swap(array[ch], array[index]); } } void heap(int *array, int begin, int end) { int *base = array + begin; int size = end - begin + 1; for (int i = size / 2 - 1; i >= 0; i--) heapify(base, i, size); while (--size >= 1) { swap(base[0], base[siz...
#
알고리즘
#
정렬
#
힙
#
힙정렬
원문 링크 : [C++언어] 힙 정렬 (Heap sort) 알고리즘