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(); }