C++顺序栈.docVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C顺序栈

一、利用栈类求进制转换: 顺序栈的应用: 1、用静态数组实现 #include iostream using namespace std; const int maxsize=10; class stack { float data[maxsize]; int top; public: stack(void); ~stack(void); bool empty(void); bool full(void); void push(float a); float pop(void); }; stack::stack() { top=0; coutstack initialized.endl; } stack::~stack() { coutstack destroyedendl; } bool stack::empty() { return top==0; } bool stack::full(void) {return top==maxsize ; } void stack::push(float a) { if(full()) coutStack overflow!endl; else { data[top]=a; top++; } } float stack::pop(void) { if(top==0) { coutAn empty stack!endl; return 0; } top--; return data[top]; } int main( ) { stack s; int num,base,x; cout请输入一个十进制数\n; cinnum; cout请输入转换后的进制\n; cinbase; while(num) { x=num%base; s.push(x); num=num/base; } cout转换为base进制的数为:\n; while(!s.empty()) {x=s.pop(); coutx;} coutendl; return 0; } 2、用动态数组实现 /*_############################################################################ _## 动态数组实现的堆栈 _## Author: qishx _## Time: 2010.4.8 _## sdupsl _## Development condition: winxp +VC6.0 _## _## dynamic_array.cpp 文件 _##########################################################################*/ #include iostream using namespace std; class Stack { int *data; int size; int top; public: Stack(int n=10 ); ~Stack( ); bool isEmpty( ); bool isFull(); void push(int a); int pop( ); }; Stack::Stack(int n) { size=n; data=new int[size]; top=-1; //将栈指针top置为-1 coutstack initialized.endl; } Stack::~Stack( ) { delete [] data; coutstack destroyed.endl; } bool Stack::isEmpty( ) { return top== -1?true:false; } bool Stack::isFull() { return top==size-1?true:false; } void Stack::push (int a) { if(isFull()) cout stack is full! endl; else { top ++; data[top]=a; } } /*改进的进栈操作 void Stack::push(int a) { if(top==size-1) { i

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档