本文整理汇总了C#中System.Collections.Generic.PriorityQueue.OrderBy方法的典型用法代码示例。如果您正苦于以下问题:C# PriorityQueue.OrderBy方法的具体用法?C# PriorityQueue.OrderBy怎么用?C# PriorityQueue.OrderBy使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Collections.Generic.PriorityQueue
的用法示例。
在下文中一共展示了PriorityQueue.OrderBy方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Test
public void Test()
{
// build a random list
var randoms = GetRandomList(60);
// create a priority queue
var size = 6;
var queue = new PriorityQueue<int>(size, Comparer<int>.Create((x, y) => x - y));
// feed numbers to queue
randoms.ForEach(queue.Offer);
randoms.Sort();
// verify
var expected = randoms.Take(size);
Assert.AreEqual(expected.ToArray(), queue.OrderBy(x => x).ToArray());
}
示例2: TestDuplication
public void TestDuplication()
{
var numbers = new [] { -1, -1, -1, 1, 1, 2, 3, 9, 20, 15, 11 }.ToList();
var queue = new PriorityQueue<int>(1, Comparer<int>.Create((x, y) => x - y));
numbers.ForEach(queue.Offer);
Assert.AreEqual(-1, queue.ToArray()[0]);
queue = new PriorityQueue<int>(3, Comparer<int>.Create((x, y) => x - y));
numbers.ForEach(queue.Offer);
queue.ToList().ForEach(x => Assert.AreEqual(-1, x));
queue = new PriorityQueue<int>(4, Comparer<int>.Create((x, y) => x - y));
numbers.ForEach(queue.Offer);
Assert.AreEqual(1, queue.OrderBy(x => x).Last());
queue = new PriorityQueue<int>(100, Comparer<int>.Create((x, y) => x - y));
numbers.ForEach(queue.Offer);
Assert.AreEqual(20, queue.OrderBy(x => x).Last());
}