⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sqstackdouble.h

📁 该程序解决了数据结构中的表达式求值问题
💻 H
字号:
#include <iostream.h>
typedef double SElemTyped;
typedef struct
{SElemTyped *elem; 
int top; 
int stacksize; 
int increment; 
}dSqStack;
//1.初始化栈
void InitStack(dSqStack &S , int maxsize=STACK_INIT_SIZE,int incresize=STACKINCREMENT) 
{ S.elem=new SElemTyped[STACK_INIT_SIZE];
S.top=-1; 
S.stacksize=maxsize; 
S. increment=incresize; }
//2.得到栈顶元素
bool GetTop(dSqStack S, SElemTyped &e)
{if(S.top==-1) return false;
 e=S.elem[S.top];  return true;  }
//3。让栈顶元素出栈
bool  Pop(dSqStack &S,SElemTyped &e) {
if(S.top==-1) return false; 
 e=S.elem[S.top];   S.top--;     return true;   }  
//4。入栈一个元素
void   Push(dSqStack &S, SElemType e)
{ if(S.top==S.stacksize-1)
      {S.stacksize=S.stacksize+STACKINCREMENT;  
        SElemTyped*  elem=new SElemTyped[S.stacksize ];
       for(int i=0;i<S.top;i++) elem[i]=S.elem[i]; 
       delete[ ] S.elem;   S.elem=elem; }
 S.top++;  S.elem[S.top]=e; 
} 
//5.输出栈中的元素
void  StackTraverse(dSqStack S)
 {for(int i=0;i<=S.top;i++) cout<<S.elem[i]<<"  ";    
cout<<endl;}
//6.栈中元素的个数
 int StackLength(dSqStack S) { return(S.top+1);}
//7判栈空 
 bool StackEmpty(dSqStack S) 
{ if(S.top==-1) return true; else return false; } 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -