Exemple #1
0
        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);
        }
Exemple #2
0
        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));
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        //[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 });
        }
Exemple #5
0
        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;
        }
Exemple #6
0
        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);
        }
Exemple #7
0
        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);
        }
Exemple #8
0
        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);
        }
Exemple #9
0
        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;
                }
            }
        }
Exemple #10
0
 public static LinkedListModelExo1 Partition(LinkedListModelExo1 head, int pivot)
 {
     throw new NotImplementedException();
 }