Где проблема в моем коде?Я думаю, что это с рекурсией - PullRequest
0 голосов
/ 27 сентября 2019

Я пытался создать функцию для создания кучи Max.Проблема с рекурсией, но я не знаю, как это исправить

#include<stdio.h>
#include<stdlib.h>
void heapify(int,int);
int heap[10];// Globally declared the heap array
//Passing a number and its index as the parameter in function 
void heapify(int num,int index){ 
    int parentIndex,temp;
    if(index==0)
    {
            heap[index]=num;
        return;
    }
    if(index%2!=0){
        parentIndex=index/2;//Check for Left child
    }
    else if(index%2==0){
        parentIndex=index/2-1;//Check for right child
    }
    while(heap[parentIndex]<num&&index>0)
    {

            temp=heap[parentIndex];
            heap[parentIndex]=num; 
            heap[index]=temp;
            heapify(num,parentIndex);
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...