今天我写了一个模拟栈的程序
分享给大家(及初学者)
语言:Dev-c++
#include<bits/stdc++.h>
using namespace std;
const int d=5;
int s[d];
int order;
int top=-1;
void push(int x){
if(top>=d-1){
cout<<"栈满!!!"<<endl;
}
else{
top++;
s[top]=x;
}
}
int pop(){
int r=-1;
if(top==-1){
cout<<"栈空!!!"<<endl;
r=-1;
}else{
r=s[top];
top--;
}
return r;
}
void display(){
for(int i=top;i>=0;i--){
cout<<s[i]<<" ";
}
cout<<endl;
}
int main(){
cout<<"输入操作:";
cout<<endl;
while(1){
cout<<"1.入栈,2:出栈,3.显示栈"<<endl;
cin>>order;
if(order==1){
int x;
cin>>x;
push(x);
display();
}
else if(order==2){
int t=pop();
if(t!=-1){
cout<<t<<"已经出栈了"<<endl;
display();
}
}
else if(order==3){
display();
}
else{
cout<<"操作错误!!!";
}
}
return 0;
}