コード例 #1
0
        public void Sort_Stack_Test()
        {
            int[] arr = new int[]
            {
                3,
                5,
                9,
                1,
                24
            };
            SortStack sortStack = new SortStack(arr);
            StackNode actual    = sortStack.Sort();

            StackNode expected = new StackNode(1)
            {
                Next = new StackNode(3)
                {
                    Next = new StackNode(5)
                    {
                        Next = new StackNode(9)
                        {
                            Next = new StackNode(24)
                        }
                    }
                }
            };

            while (actual != null)
            {
                Assert.AreEqual(actual.Data, expected.Data);
                actual   = actual.Next;
                expected = expected.Next;
            }
        }
コード例 #2
0
        private static void TestSortStack()
        {
            var stack = new Stack <int>();

            stack.Push(6);
            stack.Push(5);
            stack.Push(4);
            stack.Push(3);
            stack.Push(10);
            stack.Push(-1);
            Output(SortStack.Sort(stack));
            Console.WriteLine("Complete.");
        }
コード例 #3
0
        public void SortStackTest()
        {
            var s = new Stack();

            s.Push(2);
            s.Push(5);
            s.Push(10);
            s.Push(6);
            s.Push(1);
            s.Push(10);
            var sorted = SortStack.Sort(s);
            var prev   = sorted.Pop();

            while (!sorted.Empty)
            {
                var current = sorted.Pop();
                Assert.True(prev <= current);
                prev = current;
            }
        }
コード例 #4
0
        public void ReturnSortedStack(Stack <int> input, Stack <int> expected)
        {
            var actual = SortStack.Sort(input);

            Assert.Equal(expected, actual);
        }