void HeapSort(int list[], int n) {
int num = n, i = n/2, parent, child;
int t;
for(;;){
if(i > 0){
i--;
t = list[i];
}
else{
n--;
if(n == 0) return;
t = list[n];
list[n] = list[0];
}
parent = i;
child = i * 2 + 1;
while(child < n){
if(child + 1 < n && list[child + 1] > list[child]){
child++;
}
if(list[child] > t){
list[parent] = list[child];
parent = child;
child = parent * 2 + 1;
}
else{
break;
}
}
list[parent] = t;
}
}
도대체 이게 어떻게 봐야 힙정렬이야?
펜굴리면서 계속 쓱삭쓱삭 하고 있는데 어떻게 풀어여? 똑똑한 고수님드라 ㅠ 알려줘여
C언어 오랜만에 보네