Exemplo n.º 1
0
        public void TestMergeTwoSortedList()
        {
            var head1 = MyLinkList.BuildListNodeFromArray(new[] { 1, 2, 4 });
            var head2 = MyLinkList.BuildListNodeFromArray(new[] { 1, 3, 4 });
            var head3 = MergeTwoSortedList.Merge(head1, head2);

            Assert.AreEqual(head3.Length(), 6);
        }
Exemplo n.º 2
0
        public void MergeTwoSortedListTestMethod()
        {
            var mergeTwoSortedList = new MergeTwoSortedList();

            var input1_l1 = new ListNode(1)
            {
                next = new ListNode(2)
                {
                    next = new ListNode(4)
                    {
                        next = null
                    }
                }
            };
            var input1_l2 = new ListNode(1)
            {
                next = new ListNode(3)
                {
                    next = new ListNode(4)
                    {
                        next = null
                    }
                }
            };
            var expected1 = new ListNode(1)
            {
                next = new ListNode(1)
                {
                    next = new ListNode(2)
                    {
                        next = new ListNode(3)
                        {
                            next = new ListNode(4)
                            {
                                next = new ListNode(4)
                                {
                                    next = null
                                }
                            }
                        }
                    }
                }
            };
            var actual1 = mergeTwoSortedList.MergeTwoLists(input1_l1, input1_l2);

            while (expected1.next != null && actual1.next != null)
            {
                Assert.AreEqual(expected1.val, actual1.val);
                expected1 = expected1.next;
                actual1   = actual1.next;
            }
        }
Exemplo n.º 3
0
        public void TestMergeKSortedList()
        {
            var head1 = MyLinkList.BuildListNodeFromArray(new[] { 1, 4, 5 });
            var head2 = MyLinkList.BuildListNodeFromArray(new[] { 1, 3, 4 });
            var head3 = MyLinkList.BuildListNodeFromArray(new[] { 2, 6 });
            var head4 = MyLinkList.BuildListNodeFromArray(new[] { 7 });
            var head5 = MyLinkList.BuildListNodeFromArray(new[] { 8 });
            var head6 = MyLinkList.BuildListNodeFromArray(new[] { 9 });
            var head7 = MyLinkList.BuildListNodeFromArray(new[] { 10 });
            var head8 = MyLinkList.BuildListNodeFromArray(new[] { 11 });
            var head9 = MyLinkList.BuildListNodeFromArray(new[] { 12 });

            var headX = MergeTwoSortedList.MergeKSortedMyLinkList(new[] { head1, head2, head3, head4, head5, head6, head7, head8, head9 });

            Assert.AreEqual(headX.Length(), 14);
        }