Ejemplo n.º 1
0
            public void ShowHashTable(CustomHashMap <TK, TV> hashTable, string title)
            {
                // Проверяем входные аргументы.
                if (hashTable == null)
                {
                    throw new ArgumentNullException(nameof(hashTable));
                }

                if (string.IsNullOrEmpty(title))
                {
                    throw new ArgumentNullException(nameof(title));
                }

                // Выводим все имеющие пары хеш-значение
                Console.WriteLine(title);
                foreach (var hashMapItems in hashTable.HashMapItems)
                {
                    // Выводим хеш
                    Console.WriteLine("Хеш: {0}", hashMapItems.Key);

                    // Выводим все значения хранимые под этим хешем.
                    foreach (var value in hashMapItems.Value)
                    {
                        Console.WriteLine($"\t{value.Key} - {value.Value}");
                    }
                }

                Console.WriteLine();
            }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Введите название словоря:");
            var title = Console.ReadLine();

            var library = new CustomHashMap <string, string>();

            library.Insert("Key1", "Data");
            library.Insert("Key2", "Data");
            Console.WriteLine("Поиск: {0}", library.Search("Key1"));

            library.ShowHashTable(library, title);
            library.Delete("Key1");
            Console.WriteLine("После удаленя:");
            library.ShowHashTable(library, title);
            Console.ReadLine();
        }
Ejemplo n.º 3
0
        public void CustomHashMap()
        {
            CustomHashMap map = new CustomHashMap(3);

            map.Put(21);
            map.Put(2);
            map.Put(9);
            map.Put(19);
            map.Put(8);
            map.Put(1);
            //your output should be [ 1->null, 19-> 1-> null, 2->8-> null, 21->9->null, null, null]

            ListNode[] ans = new ListNode[6]
            {
                null,
                new LinkedList(new int[2] {
                    19, 1
                }).Head(),
                new LinkedList(new int[2] {
                    2, 8
                }).Head(),
                new LinkedList(new int[2] {
                    21, 9
                }).Head(),
                null,
                null,
            };

            for (int i = 0; i < ans.Length; i++)
            {
                ListNode ansNode  = ans[i];
                ListNode implNode = map.list[i];
                if (ansNode == null)
                {
                    Assert.Equal(ansNode, implNode);
                }
                while (ansNode != null)
                {
                    Assert.Equal(ansNode.val, implNode.val);
                    ansNode  = ansNode.next;
                    implNode = implNode.next;
                }
            }
        }