算法导论第十章例题-栈的实现
来源:互联网 发布:mac wav 转 mp3 编辑:程序博客网 时间:2024/06/05 06:50
StackNode.h
#include<iostream>using namespace std;class Stack;class StackNode{private:friend Stack;int key;StackNode *Next;public:StackNode(int num):key(num),Next(NULL){}int Getkey(){return key;}StackNode *GetNext(){return this->Next;}};
stack.h
#include<iostream>#include"StackNode.h"using namespace std;#define MaxLength 100class Stack{private:int length;StackNode *top;public:Stack():length(0){top=NULL;}Stack(int num):length(1){top=new StackNode(num);}~Stack(){while(top!=NULL){top=top->GetNext();delete top;}}bool IsEmpty(){if(length==0){return 1;}return 0;}int Pop(){if(IsEmpty()){cout<<"the stack is empty!"<<endl;return -1;}int temp=top->Getkey();top=top->GetNext();length--;return temp;}bool Push(int num){if(length==MaxLength){cout<<"the stack is full!"<<endl;return 0;}StackNode* p=new StackNode(num);p->Next=top;length++;top=p;}int GetLength(){return length;}bool IsFull(){if(length==MaxLength){return 1;}return 0;}};
mai.cpp
#include"stack.h"int main(){Stack node;int i,a[10]={1,23,4,5,6,7,8,941,12,45};for(i=0;i<10;i++){node.Push(a[i]);}for(i=0;i<10;i++){cout<<node.Pop()<<" ";}return 0;}
- 算法导论第十章例题-栈的实现
- 算法导论第十章--队列的实现
- 算法导论第十章-二叉树的实现
- 算法导论: 第十章
- [算法导论]第十章《栈和队列》
- 算法导论第十章-基本数据结构-Cpp代码实现
- 算法导论第九章例题9.2
- 算法导论第九章9.3例题
- 算法导论第十章 基本数据结构实现(栈,队列,链表),课后题答案
- 算法导论第三版第十章 单链表实现栈和队列(思路简单清晰)
- 算法导论例题及课后习题代码实现——第六章
- 算法导论第十一章11.4例题——开放寻址法代码实现
- 算法导论第十章习题10.4-3非递归方式实现二叉树的中序遍历
- 算法导论第十章:基本数据结构
- 算法导论 第十章 基本数据结构
- 算法导论第十章习题10.4-2
- 算法导论第十章基本数据结构
- 算法导论 python代码 第十章
- 黑马程序员_sql一些知识点总结
- android usb挂载分析---vold处理内核消息
- Lua性能优化技巧
- oracle row_number()函数的小实例
- windows2003升级至centos5.7 后 ORA-12519: TNS:no appropriate service handler found
- 算法导论第十章例题-栈的实现
- 黑马程序员_winform编程中的部分控件归纳
- Mplayer Slave Mode 下一些常用的参数
- 【设计模式】之外观模式(Facade)
- 二进制里的「逢二进一」是什么意思
- jquery实现的3D缩略图悬停效果
- 通过xmanager远程图形连接redhat linux as 5
- ffmpeg之初接触
- oracle extract()截取时间值函数