为什么此 c# 代码在此行的 IHeapifyable 之后有两个 angular 括号“>>”
Why does this c# code has two angular bracket '>>' after IHeapifyable in this line
该方法在 class 堆中,它在 C# 中创建堆数据结构
此方法在 O(K log n) 时间内找到第 K 个最小值
这条线到底做了什么
List<IHeapifyable<K, D>> temp = new List<IHeapifyable<K, D>>();
有人可以用 C# 代码解释这一行吗
全部代码在这里
public IHeapifyable<K, D> KthMinElement(int k)
{
if (Count is 0) throw new InvalidOperationException();
if (k <= 0 || k > Count) throw new ArgumentOutOfRangeException();
IHeapifyable<K, D> kthMin = null;
List<IHeapifyable<K, D>> temp = new List<IHeapifyable<K, D>>();
for (int i = 1; i <= k; i++)
{
if (i == k) kthMin = data[1];
temp.Add(this.Delete());
}
foreach (var node in temp) this.Insert(node.Key, node.Data);
return kthMin;
}
尖括号包含泛型类型参数。它使用 List<T>
,其中 T
是 IHeapifyable<K, D>
,因此它是 List<IHeapifyable<K, D>>
。就像你要像这样嵌套方法调用一样:
Method1(Method2(arg));
所以最后有两个右括号。
尖括号是它们描述的数据类型中包含的内容的开始和结束。
List<IHeapifyable<K, D>> temp = new List<IHeapifyable<K, D>>();
所以这一行说的是:创建一个包含一种或多种IHeapifyable<K,D>
数据类型的List
数据类型,并将其赋值给变量temp
一个整数列表用这个初始化
List<int>
你的例子是一样的,除了 int
它是
IHeaplifyable<K,D>
因此,如果您将 int
替换为 IHeaplifyable
,您会得到。
List<IHeaplifyable<K,D>>
该方法在 class 堆中,它在 C# 中创建堆数据结构 此方法在 O(K log n) 时间内找到第 K 个最小值 这条线到底做了什么
List<IHeapifyable<K, D>> temp = new List<IHeapifyable<K, D>>();
有人可以用 C# 代码解释这一行吗 全部代码在这里
public IHeapifyable<K, D> KthMinElement(int k)
{
if (Count is 0) throw new InvalidOperationException();
if (k <= 0 || k > Count) throw new ArgumentOutOfRangeException();
IHeapifyable<K, D> kthMin = null;
List<IHeapifyable<K, D>> temp = new List<IHeapifyable<K, D>>();
for (int i = 1; i <= k; i++)
{
if (i == k) kthMin = data[1];
temp.Add(this.Delete());
}
foreach (var node in temp) this.Insert(node.Key, node.Data);
return kthMin;
}
尖括号包含泛型类型参数。它使用 List<T>
,其中 T
是 IHeapifyable<K, D>
,因此它是 List<IHeapifyable<K, D>>
。就像你要像这样嵌套方法调用一样:
Method1(Method2(arg));
所以最后有两个右括号。
尖括号是它们描述的数据类型中包含的内容的开始和结束。
List<IHeapifyable<K, D>> temp = new List<IHeapifyable<K, D>>();
所以这一行说的是:创建一个包含一种或多种IHeapifyable<K,D>
数据类型的List
数据类型,并将其赋值给变量temp
一个整数列表用这个初始化
List<int>
你的例子是一样的,除了 int
它是
IHeaplifyable<K,D>
因此,如果您将 int
替换为 IHeaplifyable
,您会得到。
List<IHeaplifyable<K,D>>