c++基于列表模版类list,实现栈结构,写出代码
时间: 2024-01-01 13:16:18 浏览: 23
下面是使用C++ STL中的list模板类实现栈的代码:
```c++
#include <iostream>
#include <list>
using namespace std;
template <typename T>
class Stack{
private:
list<T> data;
public:
void push(const T& val){
data.push_back(val);
}
void pop(){
data.pop_back();
}
T& top(){
return data.back();
}
int size(){
return data.size();
}
bool empty(){
return data.empty();
}
};
int main(){
Stack<int> s;
s.push(1);
s.push(2);
s.push(3);
cout << "size: " << s.size() << endl;
cout << "top: " << s.top() << endl;
s.pop();
cout << "size: " << s.size() << endl;
cout << "top: " << s.top() << endl;
return 0;
}
```
在上面的代码中,我们使用list模板类来存储栈中的元素,push()函数将元素加入到list的末尾,pop()函数将list末尾的元素删除,top()函数返回list末尾的元素。size()函数返回list的长度,empty()函数判断list是否为空。