public class MyQueue<T>
时间: 2023-11-10 19:05:46 浏览: 42
{
private Stack<T> stack1;
private Stack<T> stack2;
public MyQueue()
{
stack1 = new Stack<T>();
stack2 = new Stack<T>();
}
public void Enqueue(T item)
{
stack1.Push(item);
}
public T Dequeue()
{
// 如果 stack2 不为空,则直接从 stack2 中 Pop 元素
if (stack2.Count > 0)
{
return stack2.Pop();
}
else
{
// 否则将 stack1 中的元素逐个 Pop 并 Push 到 stack2 中,最后从 stack2 中 Pop 元素
while (stack1.Count > 0)
{
stack2.Push(stack1.Pop());
}
return stack2.Pop();
}
}
public int Count
{
get { return stack1.Count + stack2.Count; }
}
}
// 使用示例
MyQueue<int> queue = new MyQueue<int>();
queue.Enqueue(1);
queue.Enqueue(2);
queue.Enqueue(3);
Console.WriteLine(queue.Dequeue()); // 输出 1
Console.WriteLine(queue.Dequeue()); // 输出 2
queue.Enqueue(4);
Console.WriteLine(queue.Dequeue()); // 输出 3
Console.WriteLine(queue.Dequeue()); // 输出 4
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)