以下是一个简单的C++代码示例,演示了如何实现一个基本的栈(Stack)数据结构的原理:
```cpp #include <iostream> #include <vector> template <typename T> class Stack { private: std::vector<T> elements; public: void push(T element) { elements.push_back(element); } void pop() { if (!elements.empty()) { elements.pop_back(); } else { std::cout << "Stack is empty. Cannot pop." << std::endl; } } T top() { if (!elements.empty()) { return elements.back(); } else { std::cout << "Stack is empty." << std::endl; return T(); } } bool empty() { return elements.empty(); } int size() { return elements.size(); } }; int main() { Stack<int> myStack; myStack.push(5); myStack.push(10); myStack.push(15); std::cout << "Top element: " << myStack.top() << std::endl; myStack.pop(); std::cout << "Top element after pop: " << myStack.top() << std::endl; std::cout << "Stack size: " << myStack.size() << std::endl; while (!myStack.empty()) { myStack.pop(); } return 0; } ```
这段代码定义了一个模板类 `Stack<T>`,其中包含了基本的栈操作:`push`(入栈)、`pop`(出栈)、`top`(获取栈顶元素)、`empty`(判断栈是否为空)和 `size`(获取栈的大小)。在 `main` 函数中,展示了如何使用这个栈类进行操作。
你可以运行这段代码来了解基本的栈数据结构实现原理。请注意,这只是一个简单的示例,实际应用中可能需要更复杂的功能和错误处理。