Я не эксперт по этой древовидной структуре, но первое предложение со страницы Википедии о 2-3 Деревья , кажется, отвечает на ваш вопрос о том, где хранятся данные:
2-3 дерева в информатике
тип структуры данных, дерево где
каждый узел с детьми (внутренний
узел) имеет либо двух детей и одного
элемент данных (2-узлы) или три
дети и два элемента данных
(3-узлов).
Мне кажется, вы храните данные в каждом узле дерева. На странице Wiki также есть ссылка на Java-апплет, демонстрирующий вставки .
РЕДАКТИРОВАТЬ: После прочтения вашего комментария и повторного поиска примера кода, я склонен думать, что ваши данные и ключ (как вы его называете) - это одно и то же (как Чоулетт упомянул в своем ответе).
Глядя на этот пример кода (они хранят только целые числа), я бы создал класс twoThreeNode, который содержит указатели на сохраняемые вами данные, гарантируя, что класс данных имеет перегруженные операторы сравнения, что позволяет им быть отсортирован. Затем следуйте алгоритму, как и раньше.
Я нашел интересную статью с исходным кодом здесь: Сбалансированные деревья, Часть 2: Внутренние деревья 2-3