本文整理汇总了C#中Heap.Clear方法的典型用法代码示例。如果您正苦于以下问题:C# Heap.Clear方法的具体用法?C# Heap.Clear怎么用?C# Heap.Clear使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Heap
的用法示例。
在下文中一共展示了Heap.Clear方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ClearTest
public void ClearTest()
{
Heap<int> actual = new Heap<int> {12, 3, 21, 0};
actual.Clear();
Assert.AreEqual(0, actual.Count);
}
示例2: ClearExample
public void ClearExample()
{
var heap = new Heap<string>(HeapType.Minimum) {"cat", "dog", "canary"};
// There should be 3 items in the heap.
Assert.AreEqual(3, heap.Count);
// Clear the heap
heap.Clear();
// The heap should be empty.
Assert.AreEqual(0, heap.Count);
// No cat here..
Assert.IsFalse(heap.Contains("cat"));
}
示例3: Simple
public void Simple()
{
var heap = new Heap<int>(HeapType.Minimum);
for (var i = 20; i > 0; i--)
{
heap.Add(i);
Assert.AreEqual(heap.Root, i);
}
Assert.IsFalse(heap.IsEmpty);
Assert.AreEqual(heap.Count, 20);
heap.Clear();
Assert.AreEqual(heap.Count, 0);
Assert.IsTrue(heap.IsEmpty);
}
示例4: findPath
//uses A* to find path
private void findPath(GridNode start, GridNode end)
{
Stopwatch watch = new Stopwatch();
watch.Start();
Heap<GridNode> heap = new Heap<GridNode>(gameGrid.gridHeight*gameGrid.gridLength);
Dictionary<GridNode,int> costSoFar = new Dictionary<GridNode,int>();
Dictionary<GridNode,GridNode> cameFrom = new Dictionary<GridNode,GridNode>();
HashSet<GridNode> closed = new HashSet<GridNode>();
heap.insert (start);
costSoFar.Add(start, 0);
while(heap.Count > 0){
GridNode current = heap.extract();
closed.Add (current);
if(current.Equals(end)){
retraceRoute(start,current,cameFrom);
heap.Clear ();
watch.Stop();
print (watch.ElapsedMilliseconds);
}else{
List<GridNode> list = gameGrid.getNeighbours(current);
foreach(GridNode node in list){
if(!node.isBlock && !closed.Contains(node)){
int cost = costSoFar[current] + gameGrid.getDistanceBetween(current,node);
if(!costSoFar.ContainsKey (node) || cost < costSoFar[node]){
costSoFar.Remove (node);
costSoFar.Add (node,cost);
node.score = cost + gameGrid.getHeuristic(node, end);
heap.insert (node);
cameFrom.Remove (node);
cameFrom.Add (node, current);
}
}
}
}
}
explored = new HashSet<GridNode>(closed);
}
示例5: IsEmptyExample
public void IsEmptyExample()
{
var heap = new Heap<string>(HeapType.Minimum);
// Heap will be empty initially
Assert.IsTrue(heap.IsEmpty);
heap.Add("cat");
// Heap will be not be empty when an item is added
Assert.IsFalse(heap.IsEmpty);
heap.Clear();
// Heap will be empty when items are cleared
Assert.IsTrue(heap.IsEmpty);
}
示例6: ClearPUT
public void ClearPUT([PexAssumeNotNull]List<int> input)
{
Heap<int> actual = new Heap<int> (input);
actual.Clear();
PexAssert.AreEqual(0, actual.Count);
}