LinkedList.Set C# (CSharp) Method

Set() public method

public Set ( int index, Object obj ) : void
index int
obj Object
return void
    public void Set( int index, Object obj )
    {
        LinkedListNode ptrEnd = m_start;
        int iCounter          = 0;
        if ( ptrEnd == null )
        {
            throw new Exception( "INCORRECT use of LinkedList, ptrEnd is null in Set" );
        }
        while( true )
        {
            if ( index == iCounter )
            {
                ptrEnd.obj = obj;
                return;
            }
            ptrEnd = ptrEnd.next;
            iCounter ++;
            if ( ptrEnd == null )
            {
                break;
            }
        }
        throw new Exception( "INCORRECT use of LinkedList, expected valid index for Set" );
    }
    public Boolean Remove(Object obj)

Usage Example

Exemplo n.º 1
0
        public void ShouldUpdateElementAtCorrectIndexOnSet()
        {
            var linkedList = new LinkedList <int>();

            linkedList.PushFront(10);
            linkedList.PushFront(20);
            linkedList.PushFront(10);
            linkedList.PushFront(30);

            Assert.AreEqual(4, linkedList.Length);
            Assert.AreEqual(10, linkedList.ElementAt(3));
            Assert.AreEqual(20, linkedList.ElementAt(2));
            Assert.AreEqual(10, linkedList.ElementAt(1));
            Assert.AreEqual(30, linkedList.ElementAt(0));
            Assert.AreEqual(30, linkedList.Head);
            Assert.AreEqual(10, linkedList.Tail);

            linkedList.Set(0, 130);
            Assert.AreEqual(4, linkedList.Length);
            Assert.AreEqual(10, linkedList.ElementAt(3));
            Assert.AreEqual(20, linkedList.ElementAt(2));
            Assert.AreEqual(10, linkedList.ElementAt(1));
            Assert.AreEqual(130, linkedList.ElementAt(0));
            Assert.AreEqual(130, linkedList.Head);
            Assert.AreEqual(10, linkedList.Tail);

            linkedList.Set(3, 110);
            Assert.AreEqual(4, linkedList.Length);
            Assert.AreEqual(110, linkedList.ElementAt(3));
            Assert.AreEqual(20, linkedList.ElementAt(2));
            Assert.AreEqual(10, linkedList.ElementAt(1));
            Assert.AreEqual(130, linkedList.ElementAt(0));
            Assert.AreEqual(130, linkedList.Head);
            Assert.AreEqual(110, linkedList.Tail);

            linkedList.Set(2, 120);
            Assert.AreEqual(4, linkedList.Length);
            Assert.AreEqual(110, linkedList.ElementAt(3));
            Assert.AreEqual(120, linkedList.ElementAt(2));
            Assert.AreEqual(10, linkedList.ElementAt(1));
            Assert.AreEqual(130, linkedList.ElementAt(0));
            Assert.AreEqual(130, linkedList.Head);
            Assert.AreEqual(110, linkedList.Tail);

            linkedList.Set(1, 140);
            Assert.AreEqual(4, linkedList.Length);
            Assert.AreEqual(110, linkedList.ElementAt(3));
            Assert.AreEqual(120, linkedList.ElementAt(2));
            Assert.AreEqual(140, linkedList.ElementAt(1));
            Assert.AreEqual(130, linkedList.ElementAt(0));
            Assert.AreEqual(130, linkedList.Head);
            Assert.AreEqual(110, linkedList.Tail);
        }
All Usage Examples Of LinkedList::Set