stack.h

来自「表达式计算」· C头文件 代码 · 共 51 行

H
51
字号
#include<iostream.h>
#include<assert.h>
template <class type>class stack{
public:
	stack(int max=20);
	~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 + =
减小字号Ctrl + -
显示快捷键?