📄 stack.cpp
字号:
#include<iostream.h>
#include<assert.h>
template <class type>class stack{
public:
stack(int max=10);
~stack(){delete []elements;}
void push(const type&item);
type pop();
type gettop();
void makeempty();
int isfull()const;
int isempty()const;
private:
type *elements;
int top;
int maxsize;
};
template <class type> stack<type>::stack(int max):top(-1),maxsize(max)
{
elements=new type[maxsize];
assert(elements!=0);
}
template <class type> void stack<type>::push(const type &item)
{
assert(!isfull());
elements[++top]=item;
}
template <class type> type stack<type>::pop()
{
assert(!isempty());
return elements[top--];
}
template< class type>int stack<type>::isfull()const
{
if(top==maxsize-1)return 1;
else return 0;
}
template <class type> int stack<type>::isempty()const
{
if(top==-1)return 1;
else return 0;
}
template <class type>type stack<type>::gettop()
{
assert(top!=-1);
return elements[top];
}
template <class type>void stack<type>::makeempty()
{
top=-1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -