为了账号安全,请及时绑定邮箱和手机立即绑定
  • 出栈实现,入栈实现
    查看全部
    0 采集 收起 来源:实例演示二

    2016-08-12

  • 栈的要求。。
    查看全部
    0 采集 收起 来源:实例介绍

    2016-08-10

  • 进制转换
    查看全部
  • 当遍历的对象复杂,可能要用到 visit()函数
    查看全部
    0 采集 收起 来源:实例演示二

    2016-07-26

  • 队列判空:length = 0 栈判空:top = 0
    查看全部
    0 采集 收起 来源:实例演示一

    2016-07-19

  • 匹配比较
    查看全部
  • 栈函数
    查看全部
    0 采集 收起 来源:实例介绍

    2016-07-16

  • MyStack.h
    查看全部
    1 采集 收起 来源:案例改造

    2016-07-13

  • dome
    查看全部
    1 采集 收起 来源:栈介绍

    2016-06-13

  • 栈,后进先出
    查看全部
    0 采集 收起 来源:栈介绍

    2016-05-31

  • 括号匹配 int main(void) { MyStack<char> *pStack=new MyStack<char> (30);//用来存放扫描字符串当中所找到的字符 MyStack<char> *pNeedStack=new MyStack<char> (30);//记录栈顶急需的字符 char str[]="[()]]"; char currentNeed=0;//表示当前需要的字符,赋初值用ARIS码 for(int i=0;i<strlen(str);i++) { if(str[i]!=currentNeed) { pStack->push(str[i]); switch(str[i]) { case'[': if(currentNeed!=0) { pNeedStack->push(currentNeed); } currentNeed=']'; break; case'(': if(currentNeed!=0) { pNeedStack->push(currentNeed); } currentNeed=')'; break; default://为了适用于后面有多出来的情况,例如:[()]] cout<<"字符串不匹配"<<endl; return 0; } } else { char elem; pStack->pop(elem); if(!pNeedStack->pop(currentNeed))//判断出栈是否正确,如果栈里没有可pop出的字符就要赋值0 { currentNeed=0; } } } if(pStack->stackEmpty()) { cout<<"字符串括号匹配"<<endl; } else { cout<<"字符串括号不匹配"<<endl; } delete pStack; pStack=NULL; delete pNeedStack; pNeedStack=NULL; return 0; }
    查看全部
  • #include<iostream> #include"MyStack.h" #include<stdlib.h> #define BINARY 2//binary二进制 #define OCTONARY 8//octonary八进制 #define HEXADECIMAL 16//hexadecimal十六进制 using namespace std; int main(void) { char num[]="0123456789ABCDEF";//定义一个数组使其可以通用十六进制 MyStack<int> *pStack=new MyStack<int>(30); int N=2016; int mod=0; while(N!=0) { mod = N % HEXADECIMAL; pStack->push(mod); N=N / HEXADECIMAL; } // pStack->stackTraverse (false);要输出数组中的元素所以不能再用遍历了 //或使用下标运算符重载,按下标输出 /* for (int i=pStack->stackLength()-1;i>=0;i--) { num[pStack[i]]; }*/ int elem=0; while(!pStack->stackEmpty()) { pStack->pop(elem); cout<<num[elem]; } delete pStack; pStack=NULL; return 0; }
    查看全部
  • 坐标类: #ifndef COORDINATE_H #define COORDINATE_H class Coordinate { public: Coordinate(int x=0,int y=0);//默认构造函数,应用于栈 void printCoordinate(); //operator<<,运算符重载使遍历通过。或通过调用本身有的printCoordinate()函数 private: int m_iX; int m_iY;//数据成员复杂的时候要使用拷贝构造函数来push }; #endif 实现: #include"Coordinate.h" #include<iostream> using namespace std; Coordinate::Coordinate(int x,int y) { m_iX=x; m_iY=y; } void Coordinate::printCoordinate () { cout<<"("<<m_iX<<","<<m_iY<<")"<<endl; }
    查看全部
    3 采集 收起 来源:案例改造

    2018-03-22

  • 应用栈到坐标: 主函数中需改动的地方: pStack->push (Coordinate(1,2));//传入的应为坐标类型 pStack->push (Coordinate(3,4)); 栈类中: bool push(Coordinate elem);//元素入栈,栈顶上升,void改为bool类型 bool pop(Coordinate &elem);//元素出栈,栈顶下降,char改为bool类型 void stackTraverse(bool isFromButtom);//遍历栈中所有元素 private: Coordinate *m_pBuffer;//栈空间指针 栈.cpp中 MyStack::MyStack(int size) { m_iSize=size; m_pBuffer=new Coordinate[size];//应用坐标Coordinate[size]要求坐标类中要用默认构造函数 m_iTop=0; } bool MyStack::push(Coordinate elem)//参数类型 bool MyStack::pop(Coordinate &elem) void MyStack::stackTraverse(bool isFromButtom) { if(isFromButtom) { for(int i=0;i<m_iTop;i++) { m_pBuffer[i].printCoordinate (); //cout<<m_pBuffer[i]<<",";//基本数据类型可以,但复杂数据类型不可以 } } else{ for(int i=m_iTop-1;i>=0;i--) { m_pBuffer[i].printCoordinate (); //cout<<m_pBuffer[i]<<","; }}//从栈顶到栈底遍历 } 坐标类: 待续
    查看全部
    1 采集 收起 来源:案例改造

    2018-03-22

  • 栈演示 #include<iostream> #include<stdlib.h> #include"MyStack.h" using namespace std; int main(void) { MyStack *pStack=new MyStack(5); pStack->push ('h');//底 pStack->push ('e'); pStack->push ('l'); pStack->push ('l'); pStack->push ('o');//顶 pStack->stackTraverse (true);//参数是bool类型,真为从底往顶 cout<<endl; char elem=0; pStack->pop (elem); cout<<elem<<endl; // pStack->clearStack (); cout<<pStack->stackLength ()<<endl; if(pStack->stackEmpty ()) { cout<<"栈为空"<<endl; } if(pStack->stackFull ()) { cout<<"栈为满 "<<endl; } delete pStack; pStack=NULL; return 0; }
    查看全部
    0 采集 收起 来源:演示代码运行

    2018-03-22

举报

0/150
提交
取消
课程须知
"本课程是数据结构初级课程 1、熟练掌握C++语言基础语法"
老师告诉你能学到什么?
1、栈的工作原理 2、栈的实现方法及编码技巧 3、栈模板的编码技巧和使用技巧 4、数制转换编程思路及栈的作用 5、括号匹配编程思路及栈的作用

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!