mirror of
https://github.com/krahets/hello-algo.git
synced 2026-06-29 09:04:23 +00:00
772183705e
* Add Russian docs site baseline * Add Russian localized codebase * Polish Russian code wording * Update ru code translation. * Update code translation and chapter covers. * Fix pythontutor extraction. * Add README and landing page. * placeholder of profiles * Use figures of English version * Remove chapter paperbook
53 lines
1.6 KiB
Go
53 lines
1.6 KiB
Go
// File: array_hash_map_test.go
|
|
// Created Time: 2022-12-14
|
|
// Author: msk397 (machangxinq@gmail.com)
|
|
|
|
package chapter_hashing
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
)
|
|
|
|
func TestArrayHashMap(t *testing.T) {
|
|
/* Инициализация хеш-таблицы */
|
|
hmap := newArrayHashMap()
|
|
|
|
/* Операция добавления */
|
|
// Добавить пару (key, value) в хеш-таблицу
|
|
hmap.put(12836, "Сяо Ха")
|
|
hmap.put(15937, "Сяо Ло")
|
|
hmap.put(16750, "Сяо Суань")
|
|
hmap.put(13276, "Сяо Фа")
|
|
hmap.put(10583, "Сяо Я")
|
|
fmt.Println("\nПосле добавления хеш-таблица имеет вид\nКлюч -> Значение")
|
|
hmap.print()
|
|
|
|
/* Операция поиска */
|
|
// Ввести в хеш-таблицу ключ key и получить значение value
|
|
name := hmap.get(15937)
|
|
fmt.Println("\nДля номера 15937 найдено имя " + name)
|
|
|
|
/* Операция удаления */
|
|
// Удалить пару (key, value) из хеш-таблицы
|
|
hmap.remove(10583)
|
|
fmt.Println("\nПосле удаления 10583 хеш-таблица имеет вид\nКлюч -> Значение")
|
|
hmap.print()
|
|
|
|
/* Обход хеш-таблицы */
|
|
fmt.Println("\nОтдельный обход пар ключ-значение")
|
|
for _, kv := range hmap.pairSet() {
|
|
fmt.Println(kv.key, " -> ", kv.val)
|
|
}
|
|
|
|
fmt.Println("\nОтдельный обход ключей")
|
|
for _, key := range hmap.keySet() {
|
|
fmt.Println(key)
|
|
}
|
|
|
|
fmt.Println("\nОтдельный обход значений")
|
|
for _, val := range hmap.valueSet() {
|
|
fmt.Println(val)
|
|
}
|
|
}
|