message: Update Heap_sort.cpp
diff: -////////////////////////////////////////////////////
  -// //
  -// Coded by Shivam Bindal //
  -// //
  -////////////////////////////////////////////////////
  -#include <bits/stdc++.h>
  -#include <algorithm>
  -#include <set>
  -#include <math.h>
  -#include <vector>
  -#define int long long
  -#define mode 998244353
  +#include <iostream>
  using namespace std;
  -class Solution
  +
  +
  +void heapify(int arr[], int n, int i)
  {
  - public:
  - void heapify(int a[], int n, int x) {
  - int l=x;
  - int left = (2*x)+1;
  - int right = (2*x)+2;
  - if(left<n && a[left]>a[l]){
  - l=left;
  - }
  - if(right<n && a[right]>a[l]){
  - l=right;
  - }
  - if(l!=x){
  - swap(a[x] , a[l]);
  - heapify(a , n , l);
  + int largest = i; // Initialize largest as root
  + int l = 2 * i + 1; // left = 2*i + 1
  + int r = 2 * i + 2; // right = 2*i + 2
  +
  + // If left child is larger than root
  + if (l < n && arr[l] > arr[largest])
  + largest = l;
  +
  + // If right child is larger than largest so far
  + if (r < n && arr[r] > arr[largest])
  + largest = r;
  +
  + // If largest is not root
  + if (largest != i) {
  + swap(arr[i], arr[largest]);
  +
  + // Recursively heapify the affected sub-tree
  + heapify(arr, n, largest);
  }
  }
  - public:
  - void buildHeap(int arr[], int n) {
  - int x;
  - x = (n/2)-1;
  - for(int i=x;i>=0;i--){
  +// main function to do heap sort
  +void heapSort(int arr[], int n)
  +{
  + // Build heap (rearrange array)
  + for (int i = n / 2 - 1; i >= 0; i--)
  heapify(arr, n, i);
  - }
  - }
  - public:
  - void heapSort(int a[], int n){
  - buildHeap(a , n);
  +
  + // One by one extract an element from heap
  for (int i = n - 1; i >= 0; i--) {
  - swap(a[0] , a[i]);
  - heapify(a, i ,0);
  + // Move current root to end
  + swap(arr[0], arr[i]);
  +
  + // call max heapify on the reduced heap
  + heapify(arr, i, 0);
  }
  }
  -};
  -int32_t main(){
  - int n = 5;
  - int arr[] = {4,1,3,9,7};
  - Solution ob;
  - ob.heapSort(arr , n);
  - for(int i=0;i<n;i++){
  +
  +/* A utility function to print array of size n */
  +void printArray(int arr[], int n)
  +{
  + for (int i = 0; i < n; ++i)
  cout << arr[i] << " ";
  + cout << "\n";
  }
  - return 0;
  +
  +// Driver program
  +int main()
  +{
  + int arr[] = { 12, 11, 13, 5, 6, 7 };
  + int n = sizeof(arr) / sizeof(arr[0]);
  +
  + heapSort(arr, n);
  +
  + cout << "Sorted array is \n";
  + printArray(arr, n);
  }
  