#include <iostream>
using namespace std;
typedef struct {
int data[100];
int top[2];
}stk;
stk s;
int push(int i,int x){
if(i<0||i>1){
printf("栈号输入错误!");
exit(0);
}
if(s.top[1]-s.top[0]==1)
{
printf("栈满!");
return 0;
}
switch(i){
case 0:
s.data[++s.top[0]]=x;
return 1;
break;
case 1:
s.data[--s.top[1]]=x;
return 1;
break;
}
}
int pop(int i){
if(i<0||i>1){
printf("栈号输入错误!");
exit(0);
}
switch(i){
case 0:
if(s.top[0]==1){
printf("栈空\n");
return -1;
}
else
return s.data[s.top[0]--];
case 1:
if(s.top[1]==100){
printf("栈空\n");
return -1;
}
else
return s.data[s.top[1]--];
}
}
void print(){
printf("%d\n",s.data[s.top[1]]);
}
int main(int argc, char** argv) {
push(1,5);
print();
pop(1);
print();
return 0;
}
|