11/04/2015

Write A Program To Heap Sort Using Dynamic Array

//display for heap sort

#include <iostream>
#include <conio.h>
using namespace std;
void max_heap(int *a, int i, int n)
{

//By-Ghanendra Yadav
    int j, temp;
    temp = a[i];
    j = 2*i;
    while (j <= n)
    {
        if (j < n && a[j+1] > a[j])
            j = j+1;
        if (temp > a[j])
            break;
        else if (temp <= a[j])
        {
            a[j/2] = a[j];
            j = 2*j;
        }
    }
    a[j/2] = temp;
    return;
}
void heapsort(int *a, int n)
{
    int i,temp;
    for (i=n;i>=2;i--)
    {
        temp = a[i];
        a[i] = a[1];
        a[1] = temp;
        max_heap(a,1,i-1);
    }
}
void maxheap(int *a, int n)
{
    int i;
    for(i=n/2;i>=1;i--)
    {
        max_heap(a,i,n);
    }
}
int main()
{
    int s,i,x;
    cout<<"ENTER THE SIZE OF ARRAY\n";
    cin>>s;
    int a[20];
    for (i =1;i<=s;i++)
    {
        cout<<"ENTER THE ELEMENT : "<<i<<" ";
        cin>>a[i];
    }
    maxheap(a,s);
    heapsort(a, s);
    cout<<"\nSORTED ARRAY IN ACCENDING ORDER: \n\n";
    for (i=1;i<=s;i++)
    {
        cout<<a[i]<<"  ";
    }
}

Output:-


Ghanendra Yadav

Ghanendra Yadav

Hello, I Am Ghanendra Yadav Owner of This Blog, I am professional Blogger and Programmer. I Love Programming, Logo Making, And Banner Designing. My Highest Qualification is MCA From NIT Warangal. You Can Find Me On Social Media Through Below Link And If You Have Any Query Related To Programming And Other Subject Comment Below or You Can Mail Me I Will Try To Answer Within 24 Hours Email:- yghanendra@student.nitw.ac.in

Find me on Social Media

Facebook | Twitter | Google+ | RSS Feed

No comments:

Post a Comment