//constructors public HeapArrayImplementation(HeapArrayPriorityType priorityType) { _count = 0; _depth = 0; _heap = new T[1]; _priorityType = priorityType; }
public HeapArrayImplementation(T[] arrayToHeap, HeapArrayPriorityType priorityType) : this(priorityType) { for (int i = 0; i < arrayToHeap.Length; i++) { push(arrayToHeap[i]); } }
public static T[] HeapSort <T>(T[] dataToSort, bool isSmallToLarge) where T : IComparable { HeapArrayPriorityType priority = isSmallToLarge ? HeapArrayPriorityType.MinHeap : HeapArrayPriorityType.MaxHeap; HeapArrayImplementation <T> heap = new HeapArrayImplementation <T>(dataToSort, priority); for (int i = 0; i < dataToSort.Length; i++) { dataToSort[i] = heap.pop(); } return(dataToSort); }