From 63042f8512167db423ad59ff73909dd8767559db Mon Sep 17 00:00:00 2001 From: nikkhilbisht24 <97297220+nikkhilbisht24@users.noreply.github.com> Date: Wed, 5 Oct 2022 15:41:59 +0530 Subject: [PATCH 1/2] Create Heap Sort --- CPP/Heap Sort | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 CPP/Heap Sort diff --git a/CPP/Heap Sort b/CPP/Heap Sort new file mode 100644 index 00000000..f62ceef7 --- /dev/null +++ b/CPP/Heap Sort @@ -0,0 +1,54 @@ +#include +using namespace std; +#define MAX 100 +void maxheapify(int *a,int,int); +void heapsort(int *a,int); +void printarray(int *a,int); +int main(){ + int n,i,a[MAX]; + cout<<"Enter the number of elements you want: "; + cin>>n; + cout<<"The entered elements are: "; + for(i=0;i>a[i]; + } + heapsort(a,n); + printarray(a,n); +} +void heapsort(int *a,int n){ + for(int i=n/2-1;i>=0;i--){ + maxheapify(a,n,i); + } + + for(int i=n-1;i>=0;i--){ + int c=a[0]; + a[0]=a[i]; + a[i]=c; + maxheapify(a,i-1,0); + } +} + +void maxheapify(int *a,int n,int i){ + int largest=i; + int left=(2*i)+1; + int right=(2*i)+2; + if(left<=n && a[left]>a[largest]){ + largest=left; + } + if(right<=n && a[right]>a[largest]){ + largest=right; + } + if(largest!=i){ + int c=a[i]; + a[i]=a[largest]; + a[largest]=c; + maxheapify(a,n,largest); + } + } +void printarray(int *a,int n){ + cout<<"The elements in sorted array are: "; + for(int i=0;i Date: Thu, 6 Oct 2022 14:54:06 +0530 Subject: [PATCH 2/2] Rename Heap Sort to Heap Sort.cpp --- CPP/{Heap Sort => Heap Sort.cpp} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename CPP/{Heap Sort => Heap Sort.cpp} (100%) diff --git a/CPP/Heap Sort b/CPP/Heap Sort.cpp similarity index 100% rename from CPP/Heap Sort rename to CPP/Heap Sort.cpp