关注
//用数组实现一个栈
#include <vector>
#include <iostream>
using namespace std;
template<typename T> class stacks
{
public:
stacks();//构造函数
~stacks();//析构函数
T getTop();//获取栈顶元素
bool pop();//删除栈顶元素
bool push(T number);//添加栈顶元素
bool empty();
int getSize();
private:
int size = 0;//栈中元素的个数
int top = -1;//栈顶指针//栈顶下标
vector<T> v;
};
//写成员函数的定义
template<typename T>
stacks<T>::stacks() {}
template<typename T>
stacks<T>::~stacks() {}
template<typename T>
bool stacks<T>::push(T number)
{
v.push_back(number);
size++;
top++;
return true;
}
template<typename T>
bool stacks<T>::pop()
{
if (empty())
{
cout << "栈为空,弹出失败" << endl;
return false;
}
v.pop_back();
size--;
top--;
return true;
}
template<typename T>
T stacks<T>::getTop()
{
return v[top];
}
template<typename T>
bool stacks<T>::empty()
{
if (size == 0)
return true;
return false;
}
template<typename T>
int stacks<T>::getSize()
{
return size;
}
int main()
{
stacks<int> s;
s.push(4);
s.push(6);
s.push(8);
int n = s.getSize();
for (int i = 0; i < n; i++)
{
cout << s.getTop() << endl;
s.pop();
}
system("pause");
return 0;
}
查看原帖
点赞 评论
相关推荐
01-16 11:45
西安交通工程学院 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你最近因为什么迷茫? #
11894次浏览 188人参与
# AI coding的好用工具分享 #
3600次浏览 103人参与
# 上班以后,你还有哪些坚持的爱好? #
1800次浏览 53人参与
# 实习怎么做才有更好的产出 #
2404次浏览 76人参与
# 你都在哪些场所面过试? #
4633次浏览 80人参与
# 实习生工资多少才算正常? #
3874次浏览 84人参与
# 实习心态崩了 #
100614次浏览 515人参与
# 你给AI提过哪些离谱的需求? #
1793次浏览 73人参与
# 找工作以来,你最看不惯__ #
3021次浏览 73人参与
# 领导做过最不靠谱的事 #
4995次浏览 87人参与
# 哪些公司开春招了? #
2008次浏览 29人参与
# 你最希望上岸的公司是? #
181569次浏览 800人参与
# 你觉得第一学历对求职有影响吗? #
222329次浏览 1230人参与
# 刚入职就____,这样正常吗? #
124570次浏览 665人参与
# 秋招有哪些公司要求提前实习 #
102903次浏览 545人参与
# 非技术岗投递进展 #
166681次浏览 1317人参与
# 新年的第一句祝福 #
53648次浏览 389人参与
# 华子oc时间线 #
1408382次浏览 6994人参与
# 当发现同事想辞职 #
13656次浏览 47人参与
# 华为保温 #
169759次浏览 643人参与