c++stack中top函数代码
时间: 2024-09-28 20:15:06 浏览: 80
在C++中,Stack(栈)通常是一种线性表,元素的插入和删除操作遵循“后进先出”(LIFO,Last In First Out)原则。如果你想使用标准库中的容器 Stack(如std::stack),`top` 函数并不是直接作为 Stack 类的一部分提供,而是通过迭代器来间接访问顶部元素。下面是一个使用`std::stack`的基本示例:
```cpp
#include <iostream>
#include <stack>
int main() {
std::stack<int> myStack; // 创建一个整数栈
// 先添加一些元素
myStack.push(10);
myStack.push(20);
myStack.push(30);
// 使用top函数(实际上需要迭代器)
if (!myStack.empty()) { // 检查是否为空
int topElement = *myStack.top(); // 通过迭代器获取顶部元素
std::cout << "Top element is: " << topElement << std::endl;
} else {
std::cout << "The stack is empty." << std::endl;
}
return 0;
}
```
在这个例子中,`top`函数实际上是隐含在`*myStack.top()`这行代码里的,它返回指向栈顶元素的迭代器,并通过解引用操作(*)得到实际的值。
阅读全文