示例#1
0
        static void Main(string[] args)
        {
            MaxHeapPriorityQueue pq = new MaxHeapPriorityQueue();

            pq.Enqueue(26, 3);
            pq.Enqueue(24, 3);
            pq.Enqueue(18, 3);
            pq.Enqueue(5, 3);
            pq.Enqueue(20, 3);
            pq.Enqueue(16, 3);
            pq.Enqueue(16, 3);
            pq.Enqueue(14, 3);
            pq.Enqueue(12, 3);
            pq.Enqueue(9, 3);
            pq.Enqueue(10, 3);
            pq.Enqueue(6, 3);
            pq.Enqueue(1, 3);

            //Console.WriteLine("COUNT: " + pq.Count()); //works
            ////Console.WriteLine("PEAK: " + pq.Peek().Priority); //works
            //Console.WriteLine("TOSTRING: " + pq.ToString()); //works

            //Console.WriteLine("DEQUEUE: " + pq.Dequeue());
            //Console.WriteLine("TOSTRING: " + pq.ToString()); //works
            Console.WriteLine("COUNT: " + pq.Count()); //works

            //pq.ToSortedArray();

            for (int i = 0; i < pq.ToSortedArray().Length; i++)
            {
                Console.WriteLine(pq.ToSortedArray()[i].Priority);
            }
        }
        public void PriorotyQueue_MethodsExist()
        {
            MaxHeapPriorityQueue pq = new MaxHeapPriorityQueue();

            pq.Enqueue(10, 1);
            pq.Dequeue();
            pq.Peek();
            pq.ToSortedArray();
            pq.ToString();
            int num = pq.Count;

            Assert.IsNotNull(pq);
        }
        public void PriorotyQueue_ToSortedArrayFourNodes()
        {
            MaxHeapPriorityQueue pq = new MaxHeapPriorityQueue();

            pq.Enqueue(0, 0);
            pq.Enqueue(10, 0);
            pq.Enqueue(20, 0);
            pq.Enqueue(30, 0);

            PQNode[] array = pq.ToSortedArray();
            string   str   = "";

            foreach (var item in array)
            {
                str += item.Priority + ":" + item.Value + ", ";
            }

            Assert.AreEqual("30:0, 20:0, 10:0, 0:0, ", str);
        }