public static void Main(string[] args)
        {
            Console.WriteLine("Stack");
            IStack <int> stack = new ArrayStack <int>();

            stack.push(1);
            stack.push(2);
            stack.push(5);
            Console.WriteLine(stack.pop());
            stack.push(3);
            stack.push(4);
            Console.WriteLine(stack.pop());
            Console.WriteLine(stack.pop());
            Console.WriteLine(stack.pop());
            Console.WriteLine(stack.pop());

            Console.WriteLine("\n---------------------\n");

            Console.WriteLine("Queue");
            IQueue <int> queue = new ArrayQueue <int>();

            queue.enqueue(1);
            queue.enqueue(2);
            queue.enqueue(3);
            queue.enqueue(4);
            queue.enqueue(5);
            Console.WriteLine(queue.dequeue());
            Console.WriteLine(queue.dequeue());
            Console.WriteLine(queue.dequeue());
            Console.WriteLine(queue.dequeue());
            Console.WriteLine(queue.dequeue());

            Console.WriteLine("\n---------------------\n");

            Console.WriteLine("Bag");
            IBag <int> bag = new LinkedListBag <int>();

            bag.add(1);
            bag.add(8);
            bag.add(3);
            bag.add(2);
            bag.add(4);

            foreach (int i in bag)
            {
                Console.WriteLine(i);
            }

            while (true)
            {
            }
        }
示例#2
0
        public void LinkedListBag()
        {
            var bag = new LinkedListBag <int>();

            bag.Add(5);
            bag.Add(10);
            bag.Add(15);

            var arr = new int[3];
            int i   = 0;

            foreach (var item in bag)
            {
                arr[i++] = item;
            }
            Assert.Contains(5, arr);
            Assert.Contains(10, arr);
            Assert.Contains(15, arr);
        }