Beispiel #1
0
        /// <summary>
        ///IsEmpty 的测试
        ///</summary>
        public void IsEmptyTestHelper <T>()
        {
            LinkStack <T> target   = new LinkStack <T>(); // TODO: 初始化为适当的值
            bool          expected = true;                // TODO: 初始化为适当的值
            bool          actual;

            actual = target.IsEmpty();
            Assert.AreEqual(expected, actual);

            target.Push(default(T));
            Assert.IsFalse(target.IsEmpty());
        }
 static void Main(string[] args)
 {
     IStack<string> stack = new LinkStack<string>();
     stack.Push("a1");
     stack.Push("a2");
     stack.Push("a3");
     while (stack.IsEmpty() == false)
     {
         Console.WriteLine(stack.StackTop);
         stack.Pop();
     }
 }
Beispiel #3
0
        public void ConversionOct(int n)   //【例3-1】数制转换问题
        {
            LinkStack <int> s = new LinkStack <int>();

            while (n > 0)
            {
                s.Push(n % 8);
                n = n / 8;
            }
            while (!s.IsEmpty())
            {
                n = s.Pop();
                Console.WriteLine("{0}", n);
            }
        } //【例3-1】数制转换问题 //8进制转换//public void Conversion(int n)
        /// <summary>
        /// 二进制转换
        /// </summary>
        /// <param name="number">被转换的10进制数</param>
        static void ConvertTo(long number)
        {
            LinkStack <long> myLinkStack = new LinkStack <long>();

            Console.WriteLine("input number:{0}:", number);
            while (number > 0)
            {
                myLinkStack.Push(number % 2);
                number = number / 2;
            }

            Console.Write("Result:");
            while (!myLinkStack.IsEmpty())
            {
                Console.Write(myLinkStack.Pop());
            }
        }