Subscribe Us

Responsive Advertisement

Advertisement

Heapsort using C++

 Heapsort using C++

by ujjal roy



#include<bits/stdc++.h>

#define ll long long int

using namespace std;

ll arr[6];


void heapify(ll n,ll i)

{

    ll left,right;

    left=2*i+1;

    right=2*i+2;

    ll target;

    target=i;

    if(left<n&&arr[left]>arr[target])

    {

        target=left;

    }

    if(right<n&&arr[right]>arr[target])

    {

        target=right;

    }

    if(target!=i)

    {

        swap(arr[target],arr[i]);

        heapify(n,target);

    }

}

void builtheap(ll n)

{

    for(ll i=(n/2-1);i>=0;i--)

    {

        heapify(n,i);

    }


}

heapsort(ll n)

{

    builtheap(n);

    for(ll i=n-1;i>=0;i--)

    {

        swap(arr[i],arr[0]);

        heapify(i,0);

    }

}

int main()

{

    ll n;

    n=6;

   arr[0]=2;

   arr[1]=9;

   arr[2]=7;

   arr[3]=6;

   arr[4]=5;

   arr[5]=8;

   heapsort(n);

   for(ll i=0;i<6;i++)

   {

       cout<<arr[i]<<" ";

   }


    return 0;

}


Post a Comment

0 Comments