Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            int N = 100000;

            //数组队列 --由于底层是数组,所以需要频繁的进行数组元素的迁移,覆盖
            //所以是非常耗时的
            //Array1Queue<int> array1Queue = new Array1Queue<int>();
            //long t1 = TestQueue(array1Queue, N);
            //Console.WriteLine("Array1Queue'time: " + t1 + "ms");

            //循环队列

            Array2Queue <int> array2Queue = new Array2Queue <int>();
            long t2 = TestQueue(array2Queue, N);

            Console.WriteLine("Array2Queue'time: " + t2 + "ms");

            //C#自带的循环队列
            Queue <int> queue = new Queue <int>();
            Stopwatch   t     = new Stopwatch();

            t.Start();
            for (int i = 0; i < N; i++)
            {
                queue.Enqueue(i);
            }
            for (int i = 0; i < N; i++)
            {
                queue.Dequeue();
            }
            t.Stop();
            Console.WriteLine("Queue'time: " + t.ElapsedMilliseconds + "ms");

            Console.Read();
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {

            Array2Queue<int> array2Queue = new Array2Queue<int>();
            for (int i = 0; i < 5; i++)
            {
                array2Queue.Enqueue(i);
                Console.WriteLine(array2Queue);
            }

            array2Queue.Dequeue();
            Console.WriteLine(array2Queue);


            Console.Read();
        }