C++栈类实现:完整代码与示例

想学习如何用C++编写栈类吗?你来对地方了!本文提供了一个简单的栈类实现,并附带详细的代码解释。

什么是栈?

栈是一种线性数据结构,遵循**后进先出(LIFO)**的原则。可以把它想象成一堆盘子,你只能从顶部放入或取出盘子。

C++栈类代码:cpp#include #include

class Stack {private: std::vector stack; // 使用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;}

代码解释:

  1. #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++ 实现一个简单的栈!

C++栈类实现:完整代码与示例

原文地址: https://www.cveoy.top/t/topic/TYY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录