Ejemplo n.º 1
0
        public void partition()
        {
            LinkedList linkedList = new LinkedList();

            linkedList.AppendToTail(new int[] { 3, 5, 8, 5, 9, 2, 1 });
            Assert.That(linkedList.Partition(5).DisplayAllData(), Is.EqualTo("3215859"));
        }
Ejemplo n.º 2
0
        public void kthToLast()
        {
            LinkedList linkedList = new LinkedList();

            linkedList.AppendToTail(new int[] { 1, 2, 3, 4, 5, 6 });
            Assert.That(linkedList.kthToLast(2), Is.EqualTo(5));
            Assert.That(linkedList.kthToLast(3), Is.EqualTo(4));
            Assert.That(linkedList.kthToLast(4), Is.EqualTo(3));
            Assert.That(linkedList.kthToLast(5), Is.EqualTo(2));
            Assert.That(linkedList.kthToLast(6), Is.EqualTo(1));
        }
Ejemplo n.º 3
0
        public void testSumLists()
        {
            LinkedList l1 = new LinkedList();
            l1.AppendToTail(new int[] { 7, 1, 6 });
            LinkedList l2 = new LinkedList();
            l2.AppendToTail(new int[] { 5, 9, 2 });

            LinkedList expected = new LinkedList();
            expected.AppendToTail(new int[] { 9, 1, 2 });

            Assert.That(SumTwoLinkedLists(l1, l2).DisplayAllData(), Is.EqualTo("912"));
        }
Ejemplo n.º 4
0
        public void canRemoveDuplicate()
        {
            LinkedList linkedList = new LinkedList();

            linkedList.AppendToTail(new int[] { 1, 3, 5, 3, 6, 7 });
            linkedList.RemoveDuplicate();
            Assert.That(linkedList.DisplayAllData(), Is.EqualTo("13567"));

            LinkedList linkedList1 = new LinkedList();

            linkedList1.AppendToTail(new int[] { 1, 2, 3, 3, 3, 4, 4, 5, 6, 7, 6, 8 });
            linkedList1.RemoveDuplicate();
            Assert.That(linkedList1.DisplayAllData(), Is.EqualTo("12345678"));
        }
Ejemplo n.º 5
0
        public LinkedList Partition(int partitionNum)
        {
            LinkedList partitioned = new LinkedList();
            List <int> greaterThan = new List <int>();
            Node       n           = first;

            while (n != null)
            {
                if (n.data < partitionNum)
                {
                    partitioned.AppendToTail(n.data);
                }
                else
                {
                    greaterThan.Add(n.data);
                }

                n = n.next;
            }

            partitioned.AppendToTail(greaterThan.ToArray());

            return(partitioned);
        }