A program that I wrote to demonstrate the concept of heap sort algorithm using C++ programming language.
I am currently accepting programming work, IT projects, school and application development, programming projects, thesis and capstone projects, IT consulting work, computer tutorials, and web development work kindly contact me at the following email address for further details. If you want to advertise on my website kindly contact me also in my email address also. Thank you.
My email address is the following jakerpomperada@gmail.com, jakerpomperada@aol.com, and jakerpomperada@yahoo.com.
My mobile number here in the Philippines is 09173084360.
Please subscribe to my channel https://www.youtube.com/channel/UCOs-lpOoIeJoh6gpJthPoGg
=================================================
You can buy my C++ book online at
https://www.mindshaperspublishing.com/product/beginners-guide-to-c-programming/
You can buy my book in introduction to computer networking at
https://www.unlimitedbooksph.com/product-page/introduction-to-computer-networking
Want to support my channel?
GCash Account
Jake Pomperada
09173084360
Paypal
https://paypal.me/jakerpomperada
Patreon
https://www.patreon.com/jakerpomperada
Thank you very much for your support.
Program Listing
#include <iostream>
using namespace std;
void comparison(int arr[], int n, int i) {
int max = i;
int leftChild = 2 * i + 1;
int rightChild = 2 * i + 2;
if (leftChild < n && arr[leftChild] > arr[max])
max = leftChild;
if (rightChild < n && arr[rightChild] > arr[max])
max = rightChild;
if (max != i) {
swap(arr[i], arr[max]);
comparison(arr, n, max);
}
}
void heapSort(int arr[], int n) {
for (int i = n / 2 - 1; i >= 0; i--)
comparison(arr, n, i);
for (int i = n - 1; i >= 0; i--) {
swap(arr[0], arr[i]);
comparison(arr, i, 0);
}
}
void display_results(int arr[], int n) {
cout <<"\t";
for (int i = 0; i < n; ++i)
cout <<" " << arr[i] << " ";
cout << "\n";
}
int main() {
int array_values[] = {400, -1, -78, 212, 162, 8, 67, 35};
int n = sizeof(array_values) / sizeof(array_values[0]);
cout << "\n\n";
cout << "\tHeap Sort in C++\n\n";
cout << "\tOriginal Array Values\n\n";
display_results(array_values, n);
heapSort(array_values, n);
cout << "\n\n";
cout << "\tSorted Array Values\n\n";
display_results(array_values, n);
cout <<"\n\n";
cout <<"\tEnd of Program";
cout <<"\n\n";
}