public static void Main(string[] args) { SequencedQueue <int> queue = new SequencedQueue <int>(); SequencedStack <int> stack = new SequencedStack <int>(); int length = 0; queue.Enqueue(10); queue.Enqueue(20); queue.Enqueue(30); queue.Enqueue(50); queue.Enqueue(50); queue.Enqueue(60); Console.WriteLine("The num in original order:"); length = queue.Count; for (int i = 0; i < length; i++) { int temp = queue.Dequeue(); Console.Write(temp + " "); stack.Push(temp); } Console.WriteLine(); Console.WriteLine("The num in reverse order:"); length = stack.Count; for (int i = 0; i < length; i++) { Console.Write(stack.Pop() + " "); } Console.WriteLine(); }
static void Main(string[] args) { SequencedQueue <int> sequencedqueue = new SequencedQueue <int>(NUM); SequencedStack <int> sequencedstack = new SequencedStack <int>(NUM); //以下for可以合并为1个 //将数字放入队列并显示 for (int i = 0; i < NUM; i++) { sequencedqueue.Enqueue(i); } Console.Write("原来的队列: "); sequencedqueue.Show(false); //将队列元素依次入栈 for (int i = 0; i < NUM; i++) { sequencedstack.Push(sequencedqueue.Dequeue()); } foreach (var item in sequencedstack.Elements) { Console.Write("{0} ", item); } //将栈元素依次弹出到队列 for (int i = 0; i < NUM; i++) { sequencedqueue.Enqueue(sequencedstack.Pop()); } Console.Write("反序后队列: "); sequencedqueue.Show(false); }