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); } }
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()); }