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