我正在编写通用二进制搜索树。我需要比较两种泛型类型。如何做到这一点,假设用户在T类中实现了IComparable
。比较通用类型
private void Insert(T newData, ref Node<T> currentRoot)
{
if (currentRoot == null)
{
currentRoot = new Node<T>(newData);
return;
}
if (newData <= currentRoot.data) //doesn't work, need equivalent functionality
Insert(newData, ref currentRoot.lChild);
else
Insert(newData, ref currentRoot.rChild);
}
不'newData.CompareTo(currentRoot.data)'工作? –
只能用'where T:IComparable'作为@BrokenGlass指出的 –
devnull