Example #1
0
        static void Main()
        {
            var musicians = new RankedSet <string> (StringComparer.InvariantCultureIgnoreCase);

            foreach (var m1 in new string[] { "Falco", "k.d. lang", "Madonna", "Tom Petty",
                                              "Joni Mitchell", "Grimes", "Warren Zevon" })
            {
                musicians.Add(m1);
            }

            Console.WriteLine("Candidates:");
            foreach (var item in musicians)
            {
                Console.WriteLine($"  {item}");
            }

            musicians.Remove("Falco");
            musicians.RemoveWhere(IsPolynymous);
            musicians.RemoveRange(1, musicians.Count - 1);

            Console.WriteLine("\nFavorite:");
            foreach (var item in musicians)
            {
                Console.WriteLine($"  {item}");
            }
        }
Example #2
0
        static void Main()
        {
            for (int width = 1; ; ++width)
            {
                Console.Write(width + " ");
                for (int count = 0; count <= width; ++count)
                {
                    for (int index = 0; index <= width - count; ++index)
                    {
                        for (int order = 4; order <= 7; ++order)
                        {
                            set = new RankedSet <int> {
                                Capacity = order
                            };
                            for (int ii = 0; ii < width; ++ii)
                            {
                                set.Add(ii);
                            }

                            try
                            {
                                set.RemoveRange(index, count);

                                Debug.Assert(set.Count == width - count);
                                Debug.Assert(set.Count == set.Count());
                                Debug.Assert(set.Count == set.Reverse().Count());
#if DEBUG
                                set.SanityCheck();
#endif
                            }
                            catch (Exception)
                            {
                                Console.WriteLine($"\nwidth={width}, index={index}, count={count}, order={order}");
                                throw;
                            }
                        }
                    }
                }
            }
        }