public void __(int[] input, int pivot, int[] expected) { LinkedListModelExo1 head = ConverterLinkedList.ArrayToLinkedList(input.ToList()); head = Exo4.Partition(head, pivot); CollectionAssert.AreEqual(ConverterLinkedList.LinkedlistToArrayList(head), expected); }
public void ___(int idx, int value) { LinkedListModelExo1 head = ConverterLinkedList.ArrayToLinkedList(new List <int> { 1, 2, 3, 4, 5, 6 }); int result = Exo2.GetAt(head, idx); Assert.That(result, Is.EqualTo(value)); }
public void ___(int[] input, int[] expected) { LinkedListModelExo1 head = Exo1.ArrayToLinkedList(input.ToList()); Exo1.Checkv1(head); List <int> result = Exo1.LinkedlistToArrayList(head); result.Sort(); CollectionAssert.AreEqual(expected, result); }
//[Test] public void __() { LinkedListModelExo1 head = ConverterLinkedList.ArrayToLinkedList(new List <int> { 1, 2, 3, 4, 5, 6 }); LinkedListModelExo1 item = head.Next.Next.Next; Exo3.Remove(item); CollectionAssert.AreEqual(ConverterLinkedList.LinkedlistToArrayList(head), new[] { 1, 2, 3, 4, 5, 6, 7 }); }
public static void Remove(LinkedListModelExo1 item) { while (item.Next.Next != null) { item.Number = item.Next.Number; item = item.Next; } item.Number = item.Next.Number; item.Next = null; }
public static LinkedListModelExo1 ArrayToLinkedList(List <int> list) { LinkedListModelExo1 next = null; for (int i = 0; i < list.Count; i++) { LinkedListModelExo1 item = new LinkedListModelExo1(list[i]); item.Next = next; next = item; } return(next); }
public static List <int> LinkedlistToArrayList(LinkedListModelExo1 head) { List <int> result = new List <int>(); LinkedListModelExo1 current = head; while (current != null) { result.Add(current.Number); current = current.Next; } result.Reverse(); return(result); }
public static int GetAt(LinkedListModelExo1 head, int idx) { LinkedListModelExo1 ref1 = head; for (int i = 0; i < idx; i++) { ref1 = ref1.Next; } LinkedListModelExo1 ref2 = head; while (ref1.Next != null) { ref1 = ref1.Next; ref2 = ref2.Next; } return(ref2.Number); }
public static void Checkv1(LinkedListModelExo1 item) { HashSet <int> values = new HashSet <int>(); values.Add(item.Number); LinkedListModelExo1 previous = item; while (previous != null && previous.Next != null) { if (!values.Contains(previous.Next.Number)) { values.Add(previous.Next.Number); previous = previous.Next; } else { previous.Next = previous.Next.Next; } } }
public static LinkedListModelExo1 Partition(LinkedListModelExo1 head, int pivot) { throw new NotImplementedException(); }