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

请按任意键继续. . .