Exemplo n.º 1
0
 //constructors
 public HeapArrayImplementation(HeapArrayPriorityType priorityType)
 {
     _count        = 0;
     _depth        = 0;
     _heap         = new T[1];
     _priorityType = priorityType;
 }
Exemplo n.º 2
0
 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);
        }