了解栈的基础知识结合代码,用代码实现一个栈是是非常简单的。
无聊打了个简单顺序栈,链式栈也基本同个道理,稍微改动就可以了。
#includeusing namespace std; const int MAXSIZE=100; int panduan=0; int top=-1; int stack[MAXSIZE]; int creatstack()//建栈 { panduan=1;//标志已建栈 return true; } bool stackpush(int e)//入栈 { if(top==MAXSIZE-1)return 0;//栈满 //栈还有空间就直接放进去 stack[++top]=e; return true; } int stackpop()//出栈 { if(top==-1)return false; //栈空 //栈不空 把最顶的下标直接往后一掉一位 就行了 int e=stack[top--]; return e;//把出栈的元素返回 } int gettop()//获取栈顶元素 { if(top==-1)return 0; //栈空 //栈不空 直接读取栈顶元素返回即可 return stack[top]; } bool stackempty()//判断是否空栈 { if(top==-1)return true;//栈空 return false; //栈不空 } int stacksize()//获取栈的元素个数 { if(top==-1)return 0; return top+1; } int main () { int choose; int e; cout<<"1.建栈; 2.入栈; 3.出栈; 4.获取栈顶元素; 5.判断是否空栈; 6.获取栈的元素个数。"< >choose; if(choose==1) { if(panduan==0) { if(creatstack())cout<<"建栈成功"< >e; if(stackpush(e))cout<<"已将"<



