1、在数据结构的书中大多是伪代码,没有给出一个完整的程序,在此小编给大家一个完整的简单的入栈出栈操作。
2、实现的功能是:观察两个数的入栈和出栈顺序。
3、程序和代码:
#include<iostream>
#include<stdlib.h>
using namespace std;
struct Stack{
int* base;
int top;
int stack_size;
};
int IniStack(Stack &s,int size){
s.base=(int*)malloc(size *sizeof(int));
if(s.base==NULL)return 0;
s.top=0;
s.stack_size=size;
return 1;
}
int Push(Stack &s,int e){
s.base[s.top]=e;
s.top++;
return 1;
}
int Pop(Stack &s){
if(s.base[s.top]==0)return 0;
s.top--;
return s.base[s.top];
}
int exchange(int x,int y){
Stack s;
IniStack(s,3);
Push(s,x);
Push(s,y);
x=Pop(s);
y=Pop(s);
cout<<"x="<<x<<"y="<<y<<endl;
return 1;
}
int main(){
int x,y;
cout<<"请输入x的值:"<<endl;
cin>>x;
cout<<"请输入y的值:"<<endl;
cin>>y;
exchange(x,y);
return 0;
}
运行结果:
请输入x的值:
45
请输入y的值:
56
x=56y=45
请按任意键继续. . .