包括三个文件:stack.h,stack.cpp,main.cpp
我们提供的服务有:成都网站设计、做网站、微信公众号开发、网站优化、网站认证、凌云ssl等。为数千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的凌云网站制作公司
stack.h
#include "stdio.h" #include#include #include #define Status int #define SElemType int #define STACK_INIT_SIZE 100 #define STACKINCREMENT 10 #define OVERFLOW 0 #define ERROR 0 #define OK 1 // typedef struct { SElemType *base; //指向栈尾 SElemType *top; //指向栈顶 int stacksize; //记录栈元素个数 }SqStack; // // //栈的基本操作 // //初始化栈 Status InitStack(SqStack &S); //返回1,表示成功;返回0表示不成功 //判栈满 Status IsFull(SqStack &S); //判栈空 Status IsEmpty(SqStack &S); //如空,返回1;非空返回0 //入栈 Status Push(SqStack &S,SElemType e); //出栈 Status Pop(SqStack &S,SElemType &e); //显示栈元素 Status StackTraverse(SqStack &S); //访问栈顶 Status GetTop(SqStack &S,SElemType &e); //求栈长度 int StackLength(SqStack &S); //清空栈 Status ClearStack(SqStack &S); //销毁栈 Status DestroyStack(SqStack &S);
stack.cpp
#include "stack.h" #include "stdio.h" #include#include #include using namespace std; //栈的基本操作 // ////初始化栈 Status InitStack(SqStack &S) { //构造一个空栈 S.base =(SElemType*)malloc(STACK_INIT_SIZE * sizeof(SElemType)); if(!S.base) return(OVERFLOW); S.top=S.base; S.stacksize=STACK_INIT_SIZE; return OK; } //判栈满 Status IsFull(SqStack &S) { //若满返回1,否则返回0 if((S.top-S.base)>= S.stacksize) //若栈满 { //cout<<"栈满"<
main.cpp#include#include "stack.h" using namespace std; int main() { /* SqStack sta; InitStack(sta); cout< >N; SqStack sta; InitStack(sta); while(N!=0) { Push(sta,N%2); //求余 N=N/2; //整除 } //StackTraverse(sta); cout<<"对应的二进制为:"<
分享标题:数据结构-stack的基本操作
本文URL:http://kswsj.cn/article/ihhigi.html