AvlTree<T> constructor

AvlTree<T>({
  1. int compare(
    1. T v1,
    2. T v2
    )?,
  2. dynamic withEquivalenceClasses = false,
})

Creates an AVL tree.

compare is an optional compare function for two values of type T. If missing or null, T must extend Comparable and the tree compares two values v1 and v2 using Ts compareTo function.

If withEquivalenceClasses is true, the tree stores multiple values which are equal with respect to compare but not identical with respect to Darts identical()-function. In this case a tree node become multi-valued.

Implementation

AvlTree({int compare(T v1, T v2)?, withEquivalenceClasses = false}) {
  if (compare != null) {
    _compare = compare;
  } else {
    _compare = (Comparable v1, Comparable v2) => v1.compareTo(v2);
  }
  this._withEquivalenceClasses = withEquivalenceClasses;
}