C#|在堆栈顶部获取对象–Peek操作

堆栈 代表一个 后进先出 对象的集合。当您需要对项目进行后进先出访问时,可以使用它。当您在列表中添加一个项目时,它将被调用 当您移除该项目时,它被称为 弹出 这个项目。 堆栈 。窥视法 用于返回堆栈顶部的对象,而不删除它。这种方法是一种有效的方法 O(1) 活动

null

属性:

  • 堆栈的容量是堆栈可以容纳的元素数。当元素添加到堆栈中时,容量会根据需要通过重新分配自动增加。
  • 如果计数小于堆栈的容量,则Push是一个 O(1) 活动如果需要增加容量以容纳新元素,则Push将成为一种解决方案 O(n) 行动,在哪里 N 是伯爵。流行音乐是一种音乐 O(1) 活动
  • 堆栈接受null作为有效值,并允许重复元素。

语法:

object Peek(); 

返回值: Peek()方法返回类型的堆栈 中的最后一个(最上面的)值 系统对象 .

例外情况: 在空堆栈上调用Peek()方法将引发 无效操作例外 。因此,在使用Peek()方法检索元素之前,请始终检查堆栈中的元素。

下面给出了一些例子,以更好地理解实现。

例1:

// C# code to Get object at
// the top of the Stack
using System;
using System.Collections.Generic;
class GFG {
// Driver code
public static void Main()
{
// Creating a Stack of strings
Stack< string > myStack = new Stack< string >();
// Inserting the elements into the Stack
myStack.Push( "1st Element" );
myStack.Push( "2nd Element" );
myStack.Push( "3rd Element" );
myStack.Push( "4th Element" );
myStack.Push( "5th Element" );
myStack.Push( "6th Element" );
// Displaying the count of elements
// contained in the Stack
Console.Write( "Total number of elements in the Stack are : " );
Console.WriteLine(myStack.Count);
// Displaying the top element of Stack
// without removing it from the Stack
Console.WriteLine( "Element at the top is : " + myStack.Peek());
// Displaying the top element of Stack
// without removing it from the Stack
Console.WriteLine( "Element at the top is : " + myStack.Peek());
// Displaying the count of elements
// contained in the Stack
Console.Write( "Total number of elements in the Stack are : " );
Console.WriteLine(myStack.Count);
}
}


输出:

Total number of elements in the Stack are : 6
Element at the top is : 6th Element
Element at the top is : 6th Element
Total number of elements in the Stack are : 6

例2:

// C# code to Get object at
// the top of the Stack
using System;
using System.Collections.Generic;
class GFG {
// Driver code
public static void Main()
{
// Creating a Stack of Integers
Stack< int > myStack = new Stack< int >();
// Displaying the top element of Stack
// without removing it from the Stack
// Calling Peek() method on empty stack
// will throw InvalidOperationException.
Console.WriteLine( "Element at the top is : " + myStack.Peek());
}
}


运行时错误:

未处理的异常: 系统InvalidOperationException:堆栈为空。

参考:

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享