createstringlisthash
Функция создания хэш-таблицы для списка строк.
Синтаксис
h_id = createstringlisthash(s_id, mem);
Аргументы
| Имя | Тип данных | Описание |
|---|---|---|
| s_id | integer |
Идентификатор списка строк |
| mem | integer |
Размер выделяемой памяти |
Описание
createstringlisthash(s_id, mem) – функция создания хэш-таблицы для списка строк
с идентификатором s_id и получения ее идентификатора. Хэш-таблицы
предназначены для обеспечения ускорения поиска идентификатора в списке строк. Хэш-таблица
позволяет хранить пары (индекс в списке, строка) и позволяет осуществлять операции
добавления новой пары, операцию быстрого поиска и операцию удаления пары по строковому
идентификатору (строке). Хэш-таблицу можно уничтожить при помощи
freeobject.
Результат
| Имя | Тип данных | Описание |
|---|---|---|
| h_id | integer |
Идентификатор созданной хэш-таблицы |
Пример
var
s_01: string = "string1" + chr(10) + "string2",
s_02: string = "string1";
//создание списка строк
slist = createstringlist;
//загрузим строку s_01 в список
settextstringlist(slist, s_01);
//добавим строку s_02 в список
i = addstringlist(slist, s_02, 0);
//создадим хэш-таблицу
hasht = createstringlisthash(slist, 4095);
//получим индексы строки
indexes = getindexesfromhash(hasht, "string1");
//уничтожим список
freeobject(slist);
//уничтожим хэш-таблицу
freeobject(hasht);
В процессе выполнения примера при помощи функции createstringlist будет создан
список строк с идентификатором slist. В список строк slist
при помощи функции settextstringlist будет загружена строка, объявленная с
разделителем "перевод строки", в результате чего переменная slist будет
содержать идентификатор списка строк ""string1""string2"". Далее, при помощи функции
addstringlist в список строк с идентификатором slist будет
загружена строка "string1". В результате переменная slist будет содержать
идентификатор списка строк ""string1""string2""string1"", переменной i будет
присвоено значение 2. При помощи функции createstringlisthash будет создана
хэш-таблица с идентификатором hasht для списка строк с идентификатором
slist. При помощи функции getindexesfromhash будет получен
массив индексов строки "string1" в списке строк slist, переменной
indexes будет присвоено значение массива [0, 2]. Перед завершением примера
список строк и хэш-таблица удаляются при помощи функции freeobject.
Дополнительные материалы
Нет.