heap sort algorithm program using C language
#include <stdio.h> // Function to print tree structure from array void printTree(int a[], int n) { for (int i = 0; i < n; i++) { int left = 2 * i + 1; int right = 2 * i + 2; printf("\nParent: %d", a[i]); if (left < n) printf(" | Left: %d", a[left]); else printf(" | Left: NULL"); if (right < n) printf(" | Right: %d", a[right]); else printf(" | Right: NULL"); } printf("\n-------------------------\n"); } // Function to heapify a subtree rooted at index i void heapify(int a[], int n, int i) { int largest = i; // Root index ...