public PriorityQueue(IEnumerable <T> tt) { foreach (var t in tt) { _finger = _finger.PushRight(new WeightedElement <T>(t)); } }
public FingerArray(IEnumerable <T> tt) { foreach (T t in tt) { _finger = _finger.PushRight(new SizedElement <T>(t)); } }
OrderedSequence <T, V> PushRight(OrderedElement <T, V> o) { var v = _finger.RightView(); if (v != null) { if (v.End.Measure().CompareTo(o.Measure()) > 0) { throw new Exception("OrderedSequence Error: PushRight() of an element less than the biggest seq el."); } } return(new OrderedSequence <T, V>(_x, _finger.PushRight(o))); }