第五次课程作业

第五次课程作业

GIT链接

四则运算代码框架:

具体实现在上方git链接。

对栈的学习:

下面为自己写的栈的代码

#include<iostream>
using namespace std;
class Stack{
private:
	int top;
	int *a;
	int size;
public:
	void push(int);//进栈
	void pop();//出栈
	bool stackempty();//是否为空
	bool stackfull();//是否满
	Stack();
	Stack(int);//构造栈,大小自拟
};
Stack::Stack(int how_many){
	size=how_many;
	a=(int *)malloc(4*how_many);
	top=0;
}
void Stack::push(int t){
	if(!stackfull()){
		*(a+top)=t;
		top++;
	}else cout<<"Error:the stack is full"<<endl;
}
void Stack::pop(){
	if(!stackempty()){
		top--;
	}else cout<<"Error:the stack is empty"<<endl;
}
bool Stack::stackempty(){
	if(top==0)return true;
	return false;
}
bool Stack::stackfull(){
	if(top==size)return true;
	return false;
}

栈可以用数组写也可以用链表写,数组比较方便点。

感想:

栈的用途极为广泛,在源程序编译中表达式的计算、过程的嵌套调用和递归调用等都要用到栈。

posted on 2017-05-22 18:53  QWE8  阅读(183)  评论(1编辑  收藏  举报

导航