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(); }
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(); }