栈
手写栈
必要的定义变量
1 int stack[maxn];//开辟栈所需要的数组空间,其中maxn是栈的最大支持的大小 2 int p = 0;//栈顶指针,指向下一个待插入的数组位置
1.压栈
1 //将x压入栈 2 void push(int x) 3 { 4 if(x>=maxn)//判断栈是否溢出 5 cout << "Stack overflow." ; 6 else 7 { 8 stack[p]=x; 9 p+=1; 10 } 11 }2.弹出栈顶元素
1 void pop()//弹出栈顶元素 2 { 3 if(p==0)//需判断是否栈为空 4 cout << "Stack is empty" ; 5 else 6 p-=1; 7 }3.查询栈顶元素
1 int top()//查询栈顶元素 2 { 3 if(p==0)//需判断是否栈为空 4 cout << "Stack is empty" ; 5 else 6 return stack[p-1];//此处p-1为栈顶 7 }
浙公网安备 33010602011771号