@sivarajans/heap-sort-asc
Version:
Heap sort ascending
1 lines • 602 B
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=HeapSort;function HeapSort(a){var sorted=[];for(GetMinHeap(a,Math.floor(a.length/2)-1);0<a.length;)swap(a,0,a.length-1),sorted.push(a.pop()),GetMinHeap(a,0);return sorted}function GetMinHeap(a,parentIndex){for(var i=parentIndex;0<=i;i--)minHeapIt(a,a.length,i)}function minHeapIt(a,n,i){var min=i,left=Math.floor(2*i)+1,right=Math.floor(2*i)+2;left<n&&a[left]<a[min]&&(min=left),right<n&&a[right]<a[min]&&(min=right),min!=i&&(swap(a,min,i),minHeapIt(a,n,min))}function swap(a,i,j){var temp=a[i];a[i]=a[j],a[j]=temp}