Beispiel #1
0
        static void Main(string[] args)
        {
            // myHeap1 for Sort test
            Heap myHeap1 = new Heap();
            myHeap1.Insert(20);
            myHeap1.Insert(32);
            myHeap1.Insert(2);
            myHeap1.Insert(25);
            myHeap1.Insert(35);
            myHeap1.Insert(814);
            myHeap1.Insert(-5);
            myHeap1.Insert(0);
            myHeap1.Insert(16);
            myHeap1.Insert(77);

            myHeap1.Sort();
            for (int i = 0; i < myHeap1.heapIndex; i++)
                Debug.Assert(myHeap1[i] < myHeap1[i + 1]);

            // myHeap2 Insert and RemoveMax tests
            Heap myHeap2 = new Heap();
            myHeap2.Insert(65);
            myHeap2.Insert(35);
            myHeap2.Insert(9);
            myHeap2.Insert(272);
            myHeap2.Insert(6245);
            myHeap2.Insert(30);
            myHeap2.Insert(918);
            myHeap2.Insert(4);
            myHeap2.Insert(-6);
            myHeap2.Insert(1);

            int currRemoval = myHeap2.RemoveMax();
            while (myHeap2.heapIndex > 1)
            {
                int lastRemoval = currRemoval;
                currRemoval = myHeap2.RemoveMax();
                Debug.Assert(lastRemoval > currRemoval);
            }
        }