关注
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-19 16:43
西安电子科技大学 后端 点赞 评论 收藏
分享
牛客热帖
正在热议
# 晒一晒我的offer #
9707062次浏览 104823人参与
# 机械只有读研才有出路吗? #
7929次浏览 103人参与
# 北方华创开奖 #
21074次浏览 244人参与
# 地方国企笔面经互助 #
1947次浏览 6人参与
# 滴滴求职进展汇总 #
78833次浏览 688人参与
# 考研失败就一定是坏事吗? #
36301次浏览 355人参与
# 机械人,签完三方你在忙什么? #
23023次浏览 119人参与
# 总结:哪家公司面试体验感最差 #
23504次浏览 115人参与
# 机械应届生薪资要多少才合适? #
11773次浏览 55人参与
# 学历or实习经历,哪个更重要 #
39082次浏览 280人参与
# 选完offer后,你后悔学本专业吗 #
6628次浏览 43人参与
# 查收我的offer竞争力报告 #
13372次浏览 191人参与
# 机械人怎么评价今年的比亚迪 #
40902次浏览 141人参与
# 应届生被毁约被毁意向了怎么办 #
24126次浏览 230人参与
# 00后45度躺现状 #
33699次浏览 295人参与
# 没有合适的工作,你会先找个干着,还是考公考研 #
35343次浏览 392人参与
# 秋招OC许愿 #
224148次浏览 1854人参与
# 如果能重来,就业or读研你选哪个? #
45324次浏览 334人参与
# 大疆求职进展汇总 #
402723次浏览 2869人参与
# 实习,投递多份简历没人回复怎么办 #
2381922次浏览 34167人参与
# 双非能在秋招上岸吗? #
99130次浏览 769人参与