介绍C#使用foreach
语句遍历堆栈 (Stack)
的方法。
1. Stack类简介
在介绍用foreach
语句遍历Stack
之前,先简单介绍一下Stack
类。在C#
的System.Collections
命名空间中,有一个名为Stack
的类。Stack
是一种后进先出(LIFO
)的数据结构,可以存储多个对象。其中,堆栈的入栈操作使用 Push
方法,而出栈操作使用 Pop
方法。以下是一些常用的Stack
类的方法:
Push(object item)
,将一个对象压入堆栈的顶部。Peek()
,返回堆栈的顶部对象而不将其从堆栈中移除。Pop()
,移除并返回堆栈的顶部对象。
2. 使用foreach语句遍历Stack
使用foreach
语句可以很方便地遍历Stack
中的元素,代码如下:
Stack<int> stack = new Stack<int>();
stack.Push(1);
stack.Push(2);
stack.Push(3);
// 用 foreach 语句遍历 Stack 的元素
foreach (int item in stack)
{
Console.WriteLine(item);
}
在这个示例中,我们创建了一个Stack
实例并将一些数字压入该堆栈。接着,我们使用foreach
语句遍历这个堆栈,并将每个元素打印到控制台上。
输出结果:
3
2
1
因为这个堆栈是后进先出(LIFO)的,所以我们得到的输出结果是3,2,1
,而不是1,2,3
。
3. 嵌套Stack并使用foreach语句遍历
Stack
可以嵌套并且可以使用foreach
语句嵌套遍历。以下是一个嵌套的示例:
Stack<Stack<int>> stackOfStacks = new Stack<Stack<int>>();
Stack<int> stack1 = new Stack<int>();
Stack<int> stack2 = new Stack<int>();
stack1.Push(1);
stack1.Push(2);
stack1.Push(3);
stack2.Push(4);
stack2.Push(5);
stackOfStacks.Push(stack1);
stackOfStacks.Push(stack2);
// 用 foreach 语句嵌套遍历 Stack 中的元素
foreach (Stack<int> item in stackOfStacks)
{
foreach (int num in item)
{
Console.WriteLine(num);
}
}
在这个示例中,我们创建了一个用于存储Stack
实例的Stack
对象。我们创建了两个Stack
实例,并将它们压入该堆栈,用于进行嵌套遍历。在最后的foreach
语句块中,我们使用两个嵌套的foreach
语句,依次遍历每个Stack
中的元素,并将它们打印到控制台上。
输出结果:
3
2
1
5
4
首先,我们遍历了第二个存储在Stack<Stack<int>>
对象中的Stack
实例,因此我们首先打印了数字5
和4
。接着,我们遍历了第一个Stack
实例,先打印了数字3
,然后是数字2
和1
。
以上就是使用C#的foreach
语句遍历堆栈的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#使用foreach语句遍历堆栈(Stack)的方法 - Python技术站