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

📄 sqstack.h

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

⌨️ 快捷键说明

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