vector<int> sortElement(vector<int> A, int n, int k) { if (n < 2) return A; vector<int> myHeap(A.begin(), A.begin() + k); makeHeap(myHeap); for (int i = k; i < A.size(); ++i) { A[i - k] = myHeap[0]; myHeap[0] = A[i]; heapAdjust(myHeap, 0, k); } for (int i = A.size() - k; i < A.size(); ++i) { A[i] = myHeap[0]; swap(myHeap[0], myHeap[k - 1]); heapAdjust(myHeap, 0, --k); } return A; }
int main() { // Declare array with random values and get its size int arr[] = { 7, 12, 36, 24, 5, 19, 11, 3, 17 }; int sizeOfArr = sizeof(arr) / sizeof(arr[0]); // Heap declaration MinHeap myHeap(sizeOfArr); // Add each element from arr[] to the heap for (int i = 0; i < sizeOfArr; ++i) { myHeap.addToHeap(arr[i]); } // Display end result myHeap.printHeap(); return 0; }