Пример #1
0
        private static void PriorityQueueDemo()
        {
            Console.WriteLine("Begin Priority Queue demo\n");
            Console.WriteLine("Creating priority queue of Employee items\n");
            IPriorityQueue <Employee> pq = new PriorityQueue2 <Employee>();

            var employees = new List <Employee>
            {
                new("Eason", 5.0),
                new("Chung", 3.0),
                new("Flynn", 6.0),
                new("Dunne", 4.0),
                new("Aiden", 1.0),
                new("Baker", 2.0),
                new("Aiden Jr.", 1.0)
            };

            foreach (var employee in employees)
            {
                Console.WriteLine($"Adding {employee} to priority queue");
                pq.Enqueue(employee);
                Console.WriteLine($"Peek front item: {pq.Peek()}");
                Console.WriteLine(pq.ToString());
                Console.WriteLine();
            }

            Console.WriteLine("\nPriory queue is: ");
            Console.WriteLine(pq.ToString());
            Console.WriteLine("\n");

            Console.WriteLine($"\nPriority Count: {pq.Count}");

            for (var i = 1; i <= 4; i++)
            {
                Console.WriteLine($"Removing employee #{i} from priority queue");
                Employee e = pq.Dequeue();
                Console.WriteLine($"Removed employee is {e}");
                Console.WriteLine("\nPriory queue is now: ");
                Console.WriteLine(pq.ToString());
                Console.WriteLine("\n");
            }

            var test = pq.ToList();

#if DEBUG
            Console.WriteLine("Testing the priority queue");
            TestPriorityQueue(50000);
#endif

            Console.WriteLine("\nEnd Priority Queue demo");
            Console.ReadLine();
        }