2013-06-07 3 views
0

Я пытаюсь реализовать древовидную структуру, и я хотел бы, чтобы каждый узел имел указатель на своих дочерних элементов и родителя. То есть ссылка между двумя узлами идет в обоих направлениях.Двунаправленные ссылки без базы данных

Существуют ли языки (например, python), где такое отношение может быть хорошо смоделировано? То, что я делаю прямо сейчас:

class Node { 
    setParent(Node p) { 
    this.parent.chilren.remove(this) 
    p.chilren.add(this) 
    this.parent = p 
    } 
    // ... 
} 

Но я предпочел бы подход, при котором я могу вынесу этот аспект двунаправленной ссылки таким образом, что я могу использовать ту же конструкцию, и в других местах. (например, более декларативный подход был бы приятным).

ответ

0

Посмотрите на Haskell и функциональные языки, чтобы упростить рекурсивные структуры данных. См. Статью here.

Смежные вопросы