예제 #1
0
        private static void DeleteDublicateCharFromList(char ch, VLinkedList <char> list)
        {
            var node = list.Find(ch);

            VLinkedList <char> .Node last = list.FindLast(ch);
            while (node != last)
            {
                list.Delete(last);
                last = list.FindLast(ch);
            }
        }
예제 #2
0
        public void Test_LinkedList_Delete()
        {
            var list = new VLinkedList <int>();

            list.Add(1);
            list.Add(2);
            list.Add(3);
            Assert.Equal(3, list.Count());
            Assert.Equal(1, list.First());
            Assert.Equal(3, list.Last());

            list.Delete(4);
            Assert.Equal(3, list.Count());
            Assert.Equal(1, list.First());
            Assert.Equal(3, list.Last());


            list.Delete(2);
            Assert.Equal(2, list.Count());
            Assert.Equal(1, list.First());
            Assert.Equal(3, list.Last());

            list.Delete(1);
            Assert.Equal(1, list.Count());
            Assert.Equal(3, list.First());
            Assert.Equal(3, list.Last());

            list.Delete(3);
            Assert.Equal(0, list.Count());
            Assert.Equal(0, list.First());
            Assert.Equal(0, list.Last());

            list.Add(4);
            list.Add(5);
            list.Add(6);
            Assert.Equal(3, list.Count());
            Assert.Equal(4, list.First());
            Assert.Equal(6, list.Last());

            list.Delete(4);
            Assert.Equal(2, list.Count());
            Assert.Equal(5, list.First());
            Assert.Equal(6, list.Last());

            list.Delete(6);
            Assert.Equal(1, list.Count());
            Assert.Equal(5, list.First());
            Assert.Equal(5, list.Last());

            list.Delete(5);
            Assert.Equal(0, list.Count());
            Assert.Equal(0, list.First());
            Assert.Equal(0, list.Last());
        }