Интересует, есть ли стандартный способ сделать словарь (Dictionary) в Jass/vJass.
Для поиска значения по ключу приходится пробегаться по массивам. А hashtable двумерный, да и говорят, что медленный достаточно.
Или есть какая-нибудь кастомная реализация?

хештебл будет быстрее любой твоей реализации
единственное место, где хт уступает массиву - при сравнении LoadInt с чтением из статического адреса Array[32]
Во всех остальных случаях дешевле сразу использовать хт
`
ОЖИДАНИЕ РЕКЛАМЫ...
22
в массив заноси имя а счетчик увеличивать. при поиске ишем порядок и находим получаем номер индекса и запрашиваем другой массив и получаем тот значение...
что вы так боитесь? У мя проект использует 1 хеш таблицу на все игры героя юнит скилы и так далее.
29
Напиши свою реализацию. Сделать простейшую хешмапу дело 50 строк.
5
pro100master, сейчас так и делаю с массивами, но не очень удобно иметь 2 штуки :)
В основном, хотел узнать, есть ли нормальная реализация, чтобы не делать велосипед. Если нет - так и буду выбирать между двумя вариантами.
Doc, а какие способы есть? Вижу только вариант, где используется hashtable, но за второй индекс всегда 0 берётся.
16
хештебл будет быстрее любой твоей реализации
единственное место, где хт уступает массиву - при сравнении LoadInt с чтением из статического адреса Array[32]
Во всех остальных случаях дешевле сразу использовать хт
Принятый ответ
29
Хешмапы не на магии работают же. Разбиваешь массив на бакеты, пишешь хеш функцию, кладешь значение в бакет.
5
Всем спасибо за ответы, этой информации достаточно :)
Чтобы оставить комментарий, пожалуйста, войдите на сайт.