我正在尝试编写一个通用的堆排序算法.我收到以下错误.可能是什么原因?
该类型
T不能用作T泛型类型或方法中的类型参数Heap.MainClass.MaxHeapify<T>(T[], int, int).没有拳击或类型参数转换从T到System.IComparable<T>(CS0314)(堆排序)
Dar*_*rov 10
您需要指定T必须IComparable<T>在HeapSort函数上实现的相同通用约束:
private static void HeapSort<T>(T[] items) where T : IComparable<T>
Run Code Online (Sandbox Code Playgroud)
您在MaxHeapify方法上指定了此约束,并且为了调用它,T必须满足此条件.