public int Count() { if (this._head == null) { return(0); } var result = 0; var queue = new DynamicArray <OptimizedChildSiblingTreeNode <T> >(true); queue.AddLast(this._head); while (queue.TryRemoveLast(out var next)) { result++; if (next.RightSibling != null) { queue.AddLast(next.RightSibling); } if (next.FirstChild != null) { queue.AddLast(next.FirstChild); } } return(result); }
public void SetLength_NonEmptyShrink_PreservesContent() { var arr = new DynamicArray <int>(4); arr.AddLast(42); arr.AddLast(13); arr.AddLast(5); arr.Length = 1; Assert.That(arr[0], Is.EqualTo(42)); }
public void SetLength_NonEmptyGrowInsideCapacity_PreservesContent() { var arr = new DynamicArray <int>(4); arr.AddLast(42); arr.Length = 3; Assert.That(arr[0], Is.EqualTo(42)); }
static WeakReference <object> Initialize() { var obj = new object(); var arr = new DynamicArray <object>(true); arr.AddLast(obj); arr.Length = 0; return(new(obj)); }