博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++之栈的实现
阅读量:2029 次
发布时间:2019-04-28

本文共 1729 字,大约阅读时间需要 5 分钟。

MyStack.h

class MyStack{public:    MyStack(int Size);//分配内存初始化栈空间,设定栈容量,栈顶    ~MyStack();//回收栈空间内存    bool stackEmpty();//判定栈是否为空    bool stackFull();//判定栈是否满    void clearStack();//清空栈    int stackLength();//已有元素的个数    bool push(char elem);//元素入栈    bool pop(char &elem);//元素初栈    void stackTraverse();//遍历栈中所有元素private:    char *m_pBuffer;//栈空间指针    int m_iSize;//栈容量    int m_iTop;//栈顶,栈中元素个数};

MyStack.cpp

#include "MyStack.h"#include 
using namespace std;MyStack::MyStack(int Size){ m_iSize = Size; m_pBuffer = new char[Size]; m_iTop = 0;}MyStack::~MyStack(){ delete []m_pBuffer; m_pBuffer = NULL;}bool MyStack::stackEmpty(){ if(0 == m_iTop){ return true; } return false;}bool MyStack::stackFull(){ if(m_iTop == m_iSize){ return true; } return false;}void MyStack::clearStack(){ m_iTop = 0;}int MyStack::stackLength(){ return m_iTop;}bool MyStack::push(char elem){ if(stackFull()){ return false; } m_pBuffer[m_iTop] = elem; m_iTop ++; return true;}bool MyStack::pop(char &elem){ if(stackEmpty()){ return false; } m_iTop --; elem = m_pBuffer[m_iTop]; return true;}void MyStack::stackTraverse(){ for(int i=0;i

main.cpp(随手测试)

#include 
#include
#include "MyStack.h"using namespace std;int main(){ MyStack *pStack = new MyStack(5); pStack->push('h');//底 pStack->push('e'); pStack->push('l'); pStack->push('l'); pStack->push('o');//顶 pStack->stackTraverse(); char elem = 0; pStack->pop(elem); cout<
stackTraverse(); //pStack->clearStack(); cout<
stackLength()<
stackEmpty()){ cout<<"栈为空"<
stackFull()){ cout<<"栈为满"<

转载地址:http://tjsaf.baihongyu.com/

你可能感兴趣的文章
bat文件-摘自百度百科
查看>>
批处理-摘自百度百科
查看>>
DataGrip介绍及其快捷键的总结
查看>>
Spring中WebApplicationInitializer的理解
查看>>
[Java] I/O底层原理之一:字符流、字节流及其源码分析
查看>>
github提交PR(pull request)过程和问题
查看>>
java的初始化顺序
查看>>
纯手写lombok插件(试玩版)
查看>>
java类中serialVersionUID的作用
查看>>
Java serialVersionUID 有什么作用?
查看>>
Java中的关键字 transient
查看>>
transient在java中的作用
查看>>
Java 利用枚举实现单例模式
查看>>
Java—Object对象和Collection对象的toString()方法
查看>>
Java数组的三种打印方式
查看>>
Lists.newArrayList
查看>>
Arrays.asList和Lists.newList使用时的陷阱
查看>>
Java集合和数组的区别
查看>>
快速理解java泛型用法
查看>>
部分版本Oracle多层嵌套查询不识别列名的BUG
查看>>