public void put(Key <T> key, Value <K> value) { int index = key == null ? 0 : getIndex(key); if (_size >= BucketArray.Length) { resize(); } if (BucketArray[index] == null) { BucketArray[index] = new LinkedListImpl <Entry <T, K> >(); BucketArray[index].append(new Entry <T, K>(key, value)); _size++; return; } else { foreach (Entry <T, K> entry in BucketArray[index]) { if (entry._key.Equals(key)) { entry._value = value; return; } } BucketArray[index].append(new Entry <T, K>(key, value)); return; } }
public void TestInsertToEnd() { ILinkedList<string> linkedList = new LinkedListImpl<string>(); linkedList.AddToFront("firstname"); linkedList.AddToFront("lastname"); linkedList.AddToEnd("meagakad"); Assert.AreEqual(linkedList[2], "meagakad"); }
public void TestLinkedListRemove() { ILinkedList<string> linkedList = new LinkedListImpl<string>(); linkedList.AddToFront("ttooa"); linkedList.AddToFront("odutola"); linkedList.AddToFront("last name"); linkedList.Remove(2); var numberInserted = linkedList.IterateAll().Count(); Assert.AreEqual(2, numberInserted); }
public void TestInsertToLinkedList() { ILinkedList<string> linkedList = new LinkedListImpl<string>(); linkedList.AddToFront("ttooa"); linkedList.AddToFront("odutola"); linkedList.AddToFront("last name"); var count = linkedList.IterateAll().Count(); Assert.AreEqual(3, count); Assert.AreNotEqual(2, count); }
public void resize() { LinkedListImpl <Entry <T, K> > [] entries = BucketArray; BucketArray = new LinkedListImpl <Entry <T, K> > [_size * 2]; for (int i = 0; i < entries.Length; i++) { if (entries[i] == null) { continue; } foreach (Entry <T, K> entry in entries[i]) { put(entry._key, entry._value); } } }
public void Test() { var links = new LinkedListImpl <int>(); for (var index = 0; index < 10; index++) { ///links.AddFirst<LinkedListNodeDefaultImpl<int>>(index); links.AddLast <LinkedListNodeDefaultImpl <int> >(index); } var list = new List <int>(); foreach (var data in new ForwardEnumerableWrapper <LinkedListImpl <int>, IListNode <int> >(links, links.FirstNode)) { list.Add(data.Value); } list.TrueForAll(_ => true); }