关注
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
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
11-05 19:14
门头沟学院 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你在职场上见过哪些“水货”同事 #
3467次浏览 21人参与
# 2025秋招体验点评 #
3000次浏览 47人参与
# 联影求职进展汇总 #
61682次浏览 420人参与
# 什么样的公司千万别去 #
1569次浏览 11人参与
# 说说你知道的学历厂 #
360728次浏览 1297人参与
# 从mentor身上学到了__ #
652次浏览 5人参与
# 京东开奖 #
494400次浏览 2745人参与
# 简历无回复,你会继续海投还是优化再投? #
106601次浏览 830人参与
# 校招薪资来揭秘 #
10031次浏览 40人参与
# 外包能不能当跳板? #
49875次浏览 249人参与
# 联影医疗求职进展汇总 #
16738次浏览 119人参与
# 秋招什么时候开投比较合适? #
114106次浏览 818人参与
# 距离放假还有_天,我已经…… #
29318次浏览 321人参与
# 本机械人被这些公司泡过池子 #
39382次浏览 186人参与
# 24届软件开发秋招薪资爆料 #
394161次浏览 1259人参与
# 比亚迪工作体验 #
66528次浏览 241人参与
# 机械只有转码才有出路吗? #
148143次浏览 1638人参与
# 学历or实习经历,哪个更重要 #
194544次浏览 1033人参与
# 面试线索爆料 #
3032次浏览 29人参与
# 腾讯工作体验 #
522737次浏览 3573人参与
# 提前批过来人的忠告 #
137050次浏览 1318人参与
