Класс BinSTree — мощная структура данных, которая используется для обработки динамических списков. Перед рассмотрением примера практической задачи построения конкорданса рассмотрим несколько более простых примеров. Под конкордансом здесь понимается алфавитный список всех слов заданного текста с указателями на места их появлений. Рассмотрим ряд простых программ, где применяются деревья поиска.
Создание примеров деревьев поиска.
В разделе «Структура бинарного дерева» функция MakeCharTree использовалась для создания ряда бинарных деревьев с символьными данными. Создадим похожую функцию MakeSearchTree, строящую бинарные деревья поиска с целочисленными данными, применяя метод Insert. Первое дерево SearchTree_0 создается на базе массива arr0. В этом примере переменная Т имеет тип BinSTree.
int arr0[6] = {30, 20, 45, 5, 10, 40};
for (i = 0; i < 6; i++)
T.Insert(arr0[i]); //Добавить элемент к дереву
Еще два дерева, SearchTree_1 и SearchTree_2, создайте сами. Первое из них должно быть восьмиэлементным деревом, а второе – деревом с десятью случайными числами из диапазона 10-99 (Рис. 12). Номер создаваемого дерева должен передаваться функции MakeSearchTree в качестве параметра. В качестве другого параметра функция должна получать указатель на переменную типа BinSTree.

Рис. 12. Деревья, создаваемые с помощью функции MakeSearchTree