-->
当前位置:首页 > Eng > 正文内容

函数题:用vector实现栈

Luz2年前 (2022-11-19)Eng751
栈是一种“先进后出”的数据结构,它具有如下操作:
* push,将元素压入栈中
* pop,将栈顶元素弹出
* size,返回栈中元素个数
* empty,判断栈是否为空

现在要求利用标准库中的vector类实现栈,其声明如下:
c++
template<typename T>
class Mystack{
private:
vector<T> elems;
public:
void push(T&& e);
void pop(T& e);
int size() const;
bool empty() const;
};

请实现该类,并通过相应的测试程序。

### 测试程序:
c++
#include<vector>
#include<iostream>
using namespace std;
template<typename T>
class Mystack{
private:
vector<T> elems;
public:
void push(T&& e);
void pop(T& e);
int size() const;
bool empty() const;
};

/* 请在这里填写答案 */

int main()
{
Mystack<int> s;
s.push(10);
s.push(20);
s.push(30);
cout<<s.size()<<endl;
while(!s.empty())
{
int e;
s.pop(e);
cout<<e<<endl;
}
return 0;
}



### 输入样例:

in



### 输出样例:
out
3
30
20
10









answer:若无答案欢迎评论

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。