C++ 栈顶函数top()
C++的栈顶函数top()返回栈顶元素的值。栈顶元素是最近添加到栈中的元素。最后添加的元素是栈顶元素。在栈中,所有的元素中栈顶元素是最重要的,因为所有的主要操作都在栈顶元素上进行。无论是push、pop或其他操作,都是在最顶部位置进行的。
语法
value_type& top();
const value_type& top() const;
参数
该函数仅用于返回栈顶元素的值,因此不需要任何参数。函数的返回类型基于栈的值类型。
返回值
该函数返回栈的顶部元素。
示例1
//该程序展示了使用栈中的top()函数检索顶部元素的值。
#include <iostream>
#include <stack>
int main()
{
std::stack<int> newstack;
newstack.push(24);
newstack.push(80);
newstack.top () +=20;
std::cout <<"newstack.top() is modified to" <<newstack.top ();
return 0;
}
输出:
newstack.top() is modified to 100
示例2
//该程序演示了在堆栈中使用top()函数来检索堆栈中最上面的元素的值。
#include <iostream>
#include <stack>
using namespace std;
int main()
{
int result = 0;
stack<int> newstack;
newstack.push(2);
newstack.push(7);
newstack.push(4);
newstack.push(5);
newstack.push(3);
while(!newstack.empty() )
{
result = result + newstack.top();
newstack.pop();
}
cout<<result;
return 0;
}
输出:
21
示例3
//该程序演示了使用栈中的top()函数来检索最顶端元素的值。
#include <iostream>
#include <stack>
int main ()
{
std::stack<int> newstack;
newstack.push(9);
newstack.push(14);
std::cout << "newstack.top() is " << newstack.top() << '\n';
return 0;
}
输出:
newstack.top() is 14
复杂性
该函数的复杂度是常数。函数只检索顶部元素的值,并且不花费任何额外的时间或空间。
数据竞争
函数访问容器,并检索最后插入的元素。给出了栈的最顶层元素。
异常安全性
提供的保证等同于在底层容器对象上执行的操作。