public void TestIfHeadPointsToFirstNode() { SLinkedList newList = new SLinkedList(); newList.Insert(5); newList.Insert(25); Assert.Equal(5, newList.Head.Next.Value); }
public void TestIfIncludesCanReturnFalse() { SLinkedList newList = new SLinkedList(); newList.Insert(5); newList.Insert(55); newList.Insert(50); Assert.False(newList.Includes(99)); }
public void TestIfIncludesCanReturnTrue() { SLinkedList newList = new SLinkedList(); newList.Insert(5); newList.Insert(15); newList.Insert(25); Assert.True(newList.Includes(15)); }
public void TestIfNodeHasMultiInserts() { SLinkedList newList = new SLinkedList(); newList.Insert(5); newList.Insert(10); newList.Insert(15); Assert.Equal(15, newList.Head.Value); }
public static void Main() { SLinkedList list1 = new SLinkedList(); SLinkedList list2 = new SLinkedList(); list1.Insert(1); list1.Insert(2); list1.Insert(3); list2.Insert(4); list2.Insert(5); list2.Insert(6); MergeList(list1, list2); //Node resultMerge = MergeList(list1, list2); //Console.WriteLine(resultMerge.Value); }
public void TestIfInsertIntoLinkList() { SLinkedList newList = new SLinkedList(); newList.Insert(5); Assert.Equal(5, newList.Head.Value); }
public void MergeTwoLinkedLists() { //Arrange Node node1 = new Node(1); Node node2 = new Node(2); Node node3 = new Node(3); Node node4 = new Node(4); Node node5 = new Node(5); Node node6 = new Node(6); Node node7 = new Node(7); Node node8 = new Node(8); Node node9 = new Node(9); Node node10 = new Node(10); SLinkedList list2 = new SLinkedList(node10); SLinkedList list1 = new SLinkedList(node9); SLinkedList list3 = new SLinkedList(node10); list1.Insert(node7.Data); list1.Insert(node5.Data); list1.Insert(node3.Data); list1.Insert(node1.Data); list2.Insert(node8.Data); list2.Insert(node6.Data); list2.Insert(node4.Data); list2.Insert(node2.Data); list3.Insert(node9.Data); list3.Insert(node8.Data); list3.Insert(node7.Data); list3.Insert(node6.Data); list3.Insert(node5.Data); list3.Insert(node4.Data); list3.Insert(node3.Data); list3.Insert(node2.Data); list3.Insert(node1.Data); //Act SLinkedList check = MergeTwoLL(list1, list2); int check2 = check.ValueAtIndex(1); int check3 = list3.ValueAtIndex(1); //Assert Assert.Equal(check2, check3); }
public void ValueAtIndexTwoIsFour() { //Arrange Node node1 = new Node(7); Node node2 = new Node(2); Node node3 = new Node(4); Node node4 = new Node(9); Node node5 = new Node(3); SLinkedList list7 = new SLinkedList(node1); list7.Insert(node2.Data); list7.Insert(node3.Data); list7.Insert(node4.Data); list7.Insert(node5.Data); //Act int check = list7.ValueAtIndex(2); //Assert Assert.Equal(4, check); }
public void TestInsertTwo() { //Arrange Node node1 = new Node(7); Node node2 = new Node(2); SLinkedList list = new SLinkedList(node1); list.Insert(node2.Data); //Act bool check = list.Includes(2); //Assert Assert.True(check); }
public void TestAppendFour() { //Arrange Node node1 = new Node(7); Node node2 = new Node(2); Node node3 = new Node(4); SLinkedList list = new SLinkedList(node1); list.Insert(node2.Data); list.Append(node3.Data); //Act bool check = list.Includes(4); //Assert Assert.True(check); }
public void CanInsertNineAfterSeven() { //Arrange Node node1 = new Node(7); Node node2 = new Node(2); Node node3 = new Node(4); Node node4 = new Node(9); SLinkedList list = new SLinkedList(node1); list.Insert(node2.Data); list.Append(node3.Data); list.InsertBefore(node4, node1); //Act bool check = list.Includes(9); //Assert Assert.True(check); }
public void WhereKIsNegative() { //Arrange Node node3 = new Node(4); Node node5 = new Node(3); Node node1 = new Node(7); Node node4 = new Node(9); Node node2 = new Node(2); SLinkedList list = new SLinkedList(node1); list.Insert(node2.Data); list.Append(node3.Data); list.InsertBefore(node4, node1); list.InsertAfter(node5, node1); //Act int check = list.ValueAtIndex(-1); //Assert Assert.Equal(-1, check); }
public void RequestedIndexOutsideLimit() { //Arrange Node node3 = new Node(4); Node node5 = new Node(3); Node node1 = new Node(7); Node node4 = new Node(9); Node node2 = new Node(2); SLinkedList list = new SLinkedList(node1); list.Insert(node2.Data); list.Append(node3.Data); list.InsertBefore(node4, node1); list.InsertAfter(node5, node1); //Act int check = list.ValueAtIndex(6); //Assert Assert.Equal(-1, check); }
/// <summary> /// Merges two Linked Lists into one Linked List /// </summary> /// <param name="list1">First Linked List to be merged</param> /// <param name="list2">Second Linked List to be merged</param> /// <returns>Merged Linked List</returns> public static SLinkedList MergeTwoLL(SLinkedList list1, SLinkedList list2) { int length1 = list1.LLLength(); int length2 = list2.LLLength(); if (length2 > length1) { list2.Head = list2.Current; list1.Head = list1.Current; SLinkedList list = new SLinkedList(list2.Current); list.Insert(list1.Current.Data); list2.Current = list2.Current.Next; list1.Current = list1.Current.Next; while (list2.Current.Next != null && list1.Current.Next != null) { list.Insert(list2.Current.Data); list.Insert(list1.Current.Data); list2.Current = list2.Current.Next; list1.Current = list1.Current.Next; } if (list2.Current.Next != null) { while (list2.Current.Next != null) { list.Insert(list2.Current.Data); list2.Current = list2.Current.Next; } } list.Insert(list2.Current.Data); list.Insert(list1.Current.Data); return(list); } else { list1.Head = list1.Current; list2.Head = list2.Current; SLinkedList list = new SLinkedList(list1.Current); list.Insert(list1.Current.Data); list1.Current = list1.Current.Next; list2.Current = list2.Current.Next; while (list1.Current.Next != null && list2.Current.Next != null) { list.Insert(list1.Current.Data); list.Insert(list2.Current.Data); list1.Current = list1.Current.Next; list2.Current = list2.Current.Next; } if (list1.Current.Next != null) { while (list1.Current.Next != null) { list.Insert(list1.Current.Data); list1.Current = list1.Current.Next; } } list.Insert(list1.Current.Data); list.Insert(list2.Current.Data); return(list); } }