关注
template <typename T, int MAX_SIZE>
class Stack
{
public:
Stack() :elems(NULL)
, top(0)
, capacity(0)
{}
~Stack()
{
delete[] elems;
elems = NULL;
}
void Push(const T &elem) //压入元素
{
//int size = sizeof(elems);
checkCapacity();
if (top <= MAX_SIZE)
{
elems[top] = elem;
top++;
}
else
{
printf("栈已满,无法添加数据\n");
}
}
void Pop() //弹出元素
{
top = top - 1;
if (top == -1)
{
printf("栈已空,没有数据可删除\n");
}
}
T &Top() //取栈顶
{
return elems[top];
}
const T &Top() const
{
return elems[top];
}
bool Empty() const
{
return top == 0;
}
void checkCapacity()
{
if (top >= capacity)
{
capacity = capacity > 0 ? capacity * 2 : 3;
T* tmp = new T[capacity];
for (int i = 0; i < top; i++)
{
tmp[i] = elems[i];
}
delete[] elems;
elems = tmp;
}
}
private:
T *elems; //使用数组的方式存储
int top;
int capacity;
};
查看原帖
点赞 1
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 2025年终总结 #
165464次浏览 2802人参与
# 找工作,行业重要还是岗位重要? #
84718次浏览 1675人参与
# 你面试体验感最差/最好的公司 #
12356次浏览 208人参与
# 一人说一个提前实习的好处 #
7487次浏览 144人参与
# 重来一次,你会对开始求职的自己说 #
5043次浏览 131人参与
# 秋招落幕,你是He or Be #
7484次浏览 166人参与
# 实习没事做是福还是祸? #
12229次浏览 196人参与
# 今年你最想重开的一场面试是? #
2474次浏览 41人参与
# 团建是“福利”还是是 “渡劫” #
6010次浏览 136人参与
# 你小心翼翼的闯过多大的祸? #
9928次浏览 144人参与
# 比亚迪工作体验 #
73373次浏览 277人参与
# 工作中听到最受打击的一句话 #
4356次浏览 83人参与
# 大厂VS公务员你怎么选 #
73425次浏览 674人参与
# 长城汽车工作体验 #
12852次浏览 16人参与
# 机械人避雷的岗位/公司 #
38581次浏览 261人参与
# 如何排解工作中的焦虑 #
246967次浏览 2276人参与
# 秋招结束之后的日子 #
114114次浏览 1052人参与
# 应届生进小公司有什么影响吗 #
109749次浏览 1124人参与
# 机械制造面试点评 #
80745次浏览 465人参与
# 总结:哪家公司面试体验感最差 #
83212次浏览 388人参与
