本文整理汇总了C#中Heap.RemoveRoot方法的典型用法代码示例。如果您正苦于以下问题:C# Heap.RemoveRoot方法的具体用法?C# Heap.RemoveRoot怎么用?C# Heap.RemoveRoot使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Heap
的用法示例。
在下文中一共展示了Heap.RemoveRoot方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Main
static void Main(string[] args)
{
StreamReader reader = new StreamReader(@"C:\Users\Darsh\Documents\Visual Studio 2013\Projects\ProjectThree\ProjectThree\input.txt");
Student student;
Heap<Student> theHeap = new Heap<Student>();
string sr = reader.ReadLine();//raid
Student[] records = new Student[sr.Length];
while (sr != null)// while there is still text
{
string[] delimiter = { ",", " " };
string[] info = sr.Split(delimiter, StringSplitOptions.RemoveEmptyEntries);
student = new Student(Convert.ToInt32(info[0]), Convert.ToDouble(info[1]));
theHeap.Insert(student);//insert all data into the Heap
sr = reader.ReadLine();
}
Console.WriteLine("Empty? {0}",theHeap.IsEmpty()); //false
Console.WriteLine("Root: {0}",theHeap.GetRoot());
theHeap.RemoveRoot();
theHeap.Print(); //Prints out student id and gpa as min heap
Console.WriteLine();
Console.WriteLine("HEAPSORT!!");
theHeap.HeapSort();//prints out the heap sort going from high to low
Console.ReadKey();
}
示例2: Simple
public void Simple()
{
var heap = new Heap<int>(HeapType.Minimum)
{
5
};
Assert.AreEqual(heap.Count, 1);
Assert.IsFalse(heap.IsEmpty);
Assert.AreEqual(heap.Root, 5);
heap.Add(2);
Assert.AreEqual(heap.Count, 2);
Assert.IsFalse(heap.IsEmpty);
Assert.AreEqual(heap.Root, 2);
heap.Add(3);
Assert.AreEqual(heap.Count, 3);
Assert.IsFalse(heap.IsEmpty);
Assert.AreEqual(heap.Root, 2);
Assert.AreEqual(heap.RemoveRoot(), 2);
heap.Add(1);
Assert.AreEqual(heap.Count, 3);
Assert.IsFalse(heap.IsEmpty);
Assert.AreEqual(heap.Root, 1);
}
示例3: ExceptionEmpty
public void ExceptionEmpty()
{
var heap = new Heap<int>(HeapType.Minimum);
Assert.AreEqual(heap.Count, 0);
heap.RemoveRoot();
}
示例4: SmallestItem
public void SmallestItem()
{
var heap = new Heap<int>(HeapType.Minimum) {5};
Assert.AreEqual(heap.Root, 5);
Assert.AreEqual(heap.Count, 1);
Assert.IsFalse(heap.IsEmpty);
Assert.AreEqual(heap.RemoveRoot(), 5);
Assert.AreEqual(heap.Count, 0);
Assert.IsTrue(heap.IsEmpty);
}
示例5: Stress
public void Stress()
{
var heap = new Heap<int>(HeapType.Minimum);
const int maximum = 5000;
for (var i = maximum; i > 0; i--)
{
heap.Add(i);
Assert.AreEqual(heap.Root, i);
}
for (var i = 1; i <= maximum; i++)
{
Assert.AreEqual(heap.RemoveRoot(), i);
}
}
示例6: NonIComparable
public void NonIComparable()
{
var heap = new Heap<NonComparableTClass>(HeapType.Minimum)
{
new NonComparableTClass(5),
new NonComparableTClass(4),
new NonComparableTClass(99),
new NonComparableTClass(12),
new NonComparableTClass(5)
};
var newHeap = SerializeUtil.BinarySerializeDeserialize(heap);
Assert.AreNotSame(heap, newHeap);
Assert.AreEqual(heap.Count, newHeap.Count);
while (heap.Count > 0)
{
Assert.AreEqual(heap.RemoveRoot().Number, newHeap.RemoveRoot().Number);
}
}
示例7: ComparerDelegateWithIntialSize
public void ComparerDelegateWithIntialSize()
{
var heap = new Heap<SimpleClass>(HeapType.Maximum, 10, (x, y) => x.TestProperty.CompareTo(y.TestProperty))
{
new SimpleClass("5")
};
Assert.AreEqual(heap.Count, 1);
Assert.AreEqual(heap.Root.TestProperty, "5");
heap.Add(new SimpleClass("2"));
Assert.AreEqual(heap.Count, 2);
Assert.AreEqual(heap.Root.TestProperty, "5");
heap.Add(new SimpleClass("3"));
Assert.AreEqual(heap.Count, 3);
Assert.AreEqual(heap.Root.TestProperty, "5");
Assert.AreEqual(heap.RemoveRoot().TestProperty, "5");
heap.Add(new SimpleClass("1"));
Assert.AreEqual(heap.Count, 3);
Assert.AreEqual(heap.Root.TestProperty, "3");
}
示例8: RootExample
public void RootExample()
{
var heap = new Heap<string>(HeapType.Minimum) {"cat", "dog", "canary"};
//because a heap is sorted the order will be "canary", "cat" and "dog"
// Root is "canary"
Assert.AreEqual("canary", heap.Root);
// Remove Root
heap.RemoveRoot();
// Root is "cat"
Assert.AreEqual("cat", heap.Root);
// Remove Root
heap.RemoveRoot();
// Root is "dog"
Assert.AreEqual("dog", heap.Root);
// Remove Root
heap.RemoveRoot();
Assert.IsTrue(heap.IsEmpty);
}