Граф поверх коряги с массивами.
Модераторы: Naeel Maqsudov, C_O_D_E
Есть коряга. Именно коряга, деревом это называть рано. Причём, коряга не бинарная, а с произвольным количеством непосредственных потомков одного узла. Узлы коряги содержат динамические массивы экземпляров класса, назовём его B. Указатели инкапсулированы, здесь проблем нет. Проблемы начинаются в другом месте. Экземпляры B содержат динамические массивы экземпляров другого класса, назовём его S1. Экземпляры S1 содержат динамические массивы экземпляров ещё одного класса, назовём его S2. Экземпляры же S2 содержат массивы по четыре элемента в каждом экземпляров ещё одного класса, назовём его P. И вот здесь то и начинаются проблемы. А проблема в том, что экземпляры P должны быть связаны между собой в граф, полностью игнорирующий границы объектов. И рёбра этого графа должны выдерживать добавление: узла дерева, экземпляра B, экземпляра S1 или экземпляра S2. А при каждом добавлении элемента весь массив переезжает на новое место. Хорошо хоть при добавлении узла коряги не переезжают на новые места сразу все массивы во всех непосредственных потомках непосредственного предка нового узла.
Писать можно на чём угодно, но зачем же так себя ограничивать? Пиши на c.