C言語でヒープソートを書く
code:c
void heapify(int *ar, int n, int i) {
while (true) {
int largest = i;
int left = i*2 + 1;
int right = i*2 + 2;
if (largest != i) {
i = largest;
continue;
}
break;
}
}
int main() {
int n = LENGTH;
int vecLENGTH = { 3,1,4,1,5,9,2 }; for (int i = n/2 - 1; i >= 0; --i) {
heapify(vec, n, i);
}
for (int i = n-1; i >= 0; --i) {
heapify(vec, i, 0);
}
for (int i = 0; i < n; ++i) {
snprintf(s, sizeof s, "%d", veci); puts(s);
}
return 0;
}