Esempio n. 1
0
        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);
        }
Esempio n. 5
0
 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);
         }
     }
 }
Esempio n. 6
0
        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);
        }