示例#1
0
        public HeapSort(HeapSortKind kind, IComparer <T> comparer)
        {
            m_comparer = comparer ?? throw new ArgumentNullException(nameof(comparer));
            switch (kind)
            {
            case HeapSortKind.HeapifyDown:
                m_sort = HeapifyDown;
                break;

            case HeapSortKind.HeapifyUp:
                m_sort = HeapifyUp;
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(kind));
            }
        }
示例#2
0
 public HeapSort(HeapSortKind kind)
     : this(kind, Comparer <T> .Default)
 {
 }