C++栈类实现:完整代码与示例
C++栈类实现:完整代码与示例
想学习如何用C++编写栈类吗?你来对地方了!本文提供了一个简单的栈类实现,并附带详细的代码解释。
什么是栈?
栈是一种线性数据结构,遵循**后进先出(LIFO)**的原则。可以把它想象成一堆盘子,你只能从顶部放入或取出盘子。
C++栈类代码:cpp#include #include
class Stack {private: std::vector
public: // 将元素推入栈顶 void push(int value) { stack.push_back(value); }
// 弹出栈顶元素 int pop() { if (!isEmpty()) { int top = stack.back(); stack.pop_back(); return top; } std::cout << 'Stack is empty!' << std::endl; return -1; // 表示栈为空值 }
// 查看栈顶元素 int peek() { if (!isEmpty()) { return stack.back(); } std::cout << 'Stack is empty!' << std::endl; return -1; // 表示栈为空值 }
// 检查栈是否为空 bool isEmpty() { return stack.empty(); }};
int main() { Stack myStack;
myStack.push(1); myStack.push(2); myStack.push(3);
std::cout << 'Top element: ' << myStack.peek() << std::endl;
std::cout << 'Popped element: ' << myStack.pop() << std::endl; std::cout << 'Popped element: ' << myStack.pop() << std::endl; std::cout << 'Popped element: ' << myStack.pop() << std::endl; std::cout << 'Popped element: ' << myStack.pop() << std::endl;
return 0;}
代码解释:
#include <iostream>和#include <vector>: 包含必要的头文件。2.class Stack: 定义名为Stack的类.3.std::vector<int> stack;: 使用vector作为底层容器存储栈元素。4.push(int value): 将元素value推入栈顶。5.pop(): 弹出栈顶元素并返回其值。如果栈为空,则输出提示信息并返回 -1。6.peek(): 返回栈顶元素的值,但不弹出它。如果栈为空,则输出提示信息并返回 -1。7.isEmpty(): 检查栈是否为空。如果为空,则返回true,否则返回false。8.main()函数: 演示如何创建Stack对象并使用其方法。
希望这篇简短的教程能够帮助您理解如何使用 C++ 实现一个简单的栈!
原文地址: https://www.cveoy.top/t/topic/TYY 著作权归作者所有。请勿转载和采集!