课程作业五

第五次课程作业

四则运算类的实现Github链接

关于栈的学习

栈的定义:

限定仅在表尾进行插入和删除操作的线性表,允许插入和删除操作的一端称为栈顶,另一端称为栈底,不含元素的空表称为空栈。

栈的主要操作
栈的定义:
class Stack
{
		int array[10];
		int top;
	public:
		Stack()
		{
			top=-1;
		}	
		bool isEmpty();
		void push(int item);
		int pop();
};
1.入栈:栈的插入操作,通常命名为push
void Stack::push(int item)
{
	top++;
	if(top<10)
	{
		array[top]=item;
	}
	else cout<<"Stack Full"<<endl;
}
2.出栈:栈的删除操作,通常命名为pop
int Stack::pop()
{
	if(isEmpty())
	{
		cout<<"Stack Is Empty"<<endl;
		return 0;
	}
	else
	{
		int data=array[top];
		top--;
		return data;
	}
}
3.求栈的大小
int Stack::size()
{
	return top+1;
}
4.判断栈是否为空
bool Stack::isEmpty()
{
	if(top==-1) return true;
	else return false;
}
栈的存储结构
1.顺序栈:一般用一个一维数组和一个栈顶指针来实现
2.链栈:栈的链式存储结构,可以用单链表实现

posted on 2017-05-25 21:01  code-123  阅读(115)  评论(0编辑  收藏  举报

导航