本文整理汇总了C#中System.Collections.Generic.PriorityQueue.Poll方法的典型用法代码示例。如果您正苦于以下问题:C# PriorityQueue.Poll方法的具体用法?C# PriorityQueue.Poll怎么用?C# PriorityQueue.Poll使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Collections.Generic.PriorityQueue
的用法示例。
在下文中一共展示了PriorityQueue.Poll方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ExpandClusterOrder
private void ExpandClusterOrder(VectorDataOptics pointDBS)
{
var neighbors = kdTree.PointsWithinRadiusOfWithDistance(pointDBS, Epsilon);
pointDBS.Visited = true;
pointDBS.ReachabilityDistance = double.PositiveInfinity;
pointDBS.SetCoreDistance(neighbors, Epsilon, MinPts);
clusterOrdering.Add(pointDBS);
if (!double.IsPositiveInfinity(pointDBS.CoreDistance))
{
var orderSeeds = new PriorityQueue<VectorDataOptics>();
Update(neighbors, pointDBS, orderSeeds);
while (orderSeeds.IsEmpty() == false)
{
var currentObject = orderSeeds
.Poll();
var neighborsCurrent = kdTree
.PointsWithinRadiusOfWithDistance(pointDBS, Epsilon);
currentObject.Visited = true;
currentObject.SetCoreDistance(neighborsCurrent, Epsilon, MinPts);
clusterOrdering.Add(currentObject);
if (!double.IsPositiveInfinity(currentObject.CoreDistance))
{
Update(neighborsCurrent, currentObject, orderSeeds);
}
}
}
}
示例2: TestPoll2
public void TestPoll2()
{
var queue = new PriorityQueue<string>();
var poll = queue.Poll();
Assert.IsNull(poll);
}
示例3: TestPoll1
public void TestPoll1()
{
var queue = new PriorityQueue<string> { "string", "anotherString" };
var poll = queue.Poll();
Assert.AreEqual(1, queue.Count);
Assert.AreEqual("anotherString", poll);
Assert.IsFalse(queue.Contains("anotherString"));
}