示例#1
0
        private static void Test4()
        {
            var bh = new AnotherBinaryHeap <int>();

            bh.Add(1);
            bh.Add(2);
            bh.Add(4);
            bh.Add(6);
            bh.Add(7);
            bh.Add(8);
            bh.Add(12);
            bh.Add(33);
            bh.Add(32);
            bh.Add(24);
            bh.Add(20);
            bh.Add(35);
            bh.Add(25);
            bh.Add(44);
            bh.Add(65);
            bh.Add(66);
            bh.Add(17);
            bh.Add(19);
            bh.Add(37);
            bh.Add(47);
            bh.Add(112);
            bh.Add(106);
            bh.Add(93);
            bh.Add(98);
            bh.Add(9);
            bh.Add(50);

            Console.WriteLine(bh.Peak());
            Console.WriteLine(bh.Remove());
            Console.WriteLine(bh.Remove());
            Console.WriteLine(bh.Remove());
            Console.WriteLine(bh.Remove());
            Console.WriteLine(bh.Peak());
        }
示例#2
0
        private static void Test5()
        {
            var arr = new int[] { 12, 20, 30, 55, 5, 3, 6, 15, 8, 22, 17 };

            var bh = new AnotherBinaryHeap <int>();

            for (var i = 0; i < arr.Length; i++)
            {
                bh.Add(arr[i]);
            }

            var result = new Stack <int>();

            while (bh.Count > 0)
            {
                result.Push(bh.Remove());
            }

            Console.WriteLine(string.Join(", ", result.ToArray()));

            Heap <int> .Sort(arr);

            Console.WriteLine(string.Join(", ", arr));
        }