Создание бинарного дерева

Ещё один интересный сниппет из рассылки.
Был задан вопрос о том, как конструировать бинарное дерево в haXe.
В ответ дали два простых варианта, каждый из которых по своему красив (лично мне понравился больше второй).

1. C помощью typedef:

typedef BinTree<T> = {
    var value : T;
    var left : BinTree<T>;
    var right : BinTree<T>;
}

2. Enum:

enum BinTree<T> {
  Node(v: T, lft : BinTree<T>, rgt : BinTree<T>);
  Leaf(v: T);
}

Комментарии

Мне тоже больше

Мне тоже больше нравится второй - это куда функциональнее и проще в использовании. Грубо говоря, первый вариант описывает, как хранится бинарное дерево, а второй - чем оно является.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <blockcode> <dd>
  • Строки и параграфы переносятся автоматически.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>.

Подробнее о форматировании

CAPTCHA
Этот вопрос помогает предотвратить автоматический спам
Image CAPTCHA
Enter the characters shown in the image without spaces, also respect upper and lower case.
To prevent automated spam submissions leave this field empty.