当前位置: 首页>>代码示例>>C#>>正文


C# Heap.RemoveRoot方法代码示例

本文整理汇总了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();
        }
开发者ID:Kablamz,项目名称:codef,代码行数:31,代码来源:P3.cs

示例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);
        }
开发者ID:GTuritto,项目名称:ngenerics,代码行数:28,代码来源:Add.cs

示例3: ExceptionEmpty

        public void ExceptionEmpty()
        {
            var heap = new Heap<int>(HeapType.Minimum);

            Assert.AreEqual(heap.Count, 0);

            heap.RemoveRoot();
        }
开发者ID:GTuritto,项目名称:ngenerics,代码行数:8,代码来源:Remove.cs

示例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);
        }
开发者ID:GTuritto,项目名称:ngenerics,代码行数:11,代码来源:Remove.cs

示例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);
            }
        }
开发者ID:GTuritto,项目名称:ngenerics,代码行数:18,代码来源:Remove.cs

示例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);
            }
        }
开发者ID:GTuritto,项目名称:ngenerics,代码行数:21,代码来源:Serializable.cs

示例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");
        }
开发者ID:havok,项目名称:ngenerics,代码行数:24,代码来源:Construction.cs

示例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);
        }
开发者ID:havok,项目名称:ngenerics,代码行数:26,代码来源:HeapExamples.cs


注:本文中的Heap.RemoveRoot方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。