[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/SelfCodeLearning/C/master/sorting/Heap_Sort.c [Back]  [Original]

#include 

void max_heapify(int* a, int i, int n);
void heapsort(int* a, int n);
void build_maxheap(int* a, int n);

void max_heapify(int* a, int i, int n) {
  int j, temp;
  temp = a[i];
  j = 2 * i;
  while (j  a[j])
      j = j + 1;
    if (temp > a[j]) {
      break;
    } else if (temp = 2; i--) {
    temp = a[i];
    a[i] = a[1];
    a[1] = temp;
    max_heapify(a, 1, i - 1);
  }
}

void build_maxheap(int* a, int n) {
  int i;
  for (i = n / 2; i >= 1; i--) {
    max_heapify(a, i, n);
  }
}

int main() {
  int n, i;
  printf("Enter number of elements of array\n");
  scanf("%d", &n);
  int a[20];
  for (i = 1; i 

Web Proxy Viewer  |  New URL  |  Original Page