#include<stdio.h>
#include<stdlib.h>
#define MAX_SIZE 100
typedef char ElemType;
struct Stack{
ElemType data[MAX_SIZE];
int top;
}MyStack;
struct Stack_data{
double data[MAX_SIZE];
int top_data;
void init_data(){
M_data.top_data = 0;
void init(){
MyStack.top = 0;
bool isEmpty_data(){
return M_data.top_data ==0 ? true : false;
}
//判断栈是否为空
bool isEmpty(){
return MyStack.top ==0 ? true : false;
double gettop_data(){
if(isEmpty_data()){
printf("栈为空!");
exit(0);
}
return M_data.data[M_data.top_data-1];
}
//读取栈顶元素(不出栈)
ElemType gettop(){
if(isEmpty()){
printf("栈为空!");
exit(0);
}
return MyStack.data[MyStack.top-1];
}
//入栈
void push(char x){
if(MyStack.top == MAX_SIZE){
printf("栈已满!\n");
exit(0);
}
MyStack.data[MyStack.top] = x;
MyStack.top++;
}
//数据栈入栈
void push_data(double x){
#include<stdlib.h>
#define MAX_SIZE 100
typedef char ElemType;
struct Stack{
ElemType data[MAX_SIZE];
int top;
}MyStack;
struct Stack_data{
double data[MAX_SIZE];
int top_data;
}M_data;
void init_data(){
M_data.top_data = 0;
}
void init(){
MyStack.top = 0;
}
bool isEmpty_data(){
return M_data.top_data ==0 ? true : false;
}
//判断栈是否为空
bool isEmpty(){
return MyStack.top ==0 ? true : false;
}
double gettop_data(){
if(isEmpty_data()){
printf("栈为空!");
exit(0);
}
return M_data.data[M_data.top_data-1];
}
//读取栈顶元素(不出栈)
ElemType gettop(){
if(isEmpty()){
printf("栈为空!");
exit(0);
}
return MyStack.data[MyStack.top-1];
}
//入栈
void push(char x){
if(MyStack.top == MAX_SIZE){
printf("栈已满!\n");
exit(0);
}
MyStack.data[MyStack.top] = x;
MyStack.top++;
}
//数据栈入栈
void push_data(double x){