实验四顺序栈的实现
来源:互联网 发布:打击电信网络诈骗视频 编辑:程序博客网 时间:2024/06/08 07:11
实验4:栈和队列的基本操作实现及其应用
一、实验目的
1、 熟练掌栈和队列的结构特点,掌握栈和队列的顺序存储和链式存储结构和实现。
2、 学会使用栈和队列解决实际问题。
二、实验内容
1、 自己确定结点的具体数据类型和问题规模:
分别建立一个顺序栈和链栈,实现栈的压栈和出栈操作。
分别建立一个顺序队列和链队列,实现队列的入队和出队操作。
2、 设计算法并写出代码,实现一个十将二进制转换成2进制数。
顺序栈的实现
#includeusing namespace std;const int StackSize=10;class SeqStack{public:SeqStack(){top=-1;} //构造函数,初始化一个空栈 ~SeqStack(){} //析构函数为空 void Push(int x); //入栈操作,元素x 入栈 int Pop(); //出栈操作,栈顶元素弹出 int GetTop(){if(top!=-1)return data[top];} //取栈顶元素(不删除) int Empty(){if(top==-1) return 1;else return 0;} // 判断是否空栈 private: int data[StackSize]; //存放栈顶元素的数组 int top; //栈顶指针,为栈顶元素在数组中的下标 };void SeqStack:: Push(int x){if(top==StackSize-1)throw "上溢";data[++top]=x; }int SeqStack::Pop(){int x;if(top==-1)throw"下溢";x=data[top--];return x; }int main(){ int x,n,d,flag,tab; SeqStack S; flag=0;do{cout<<"输入你要的插入的数:"< >n;cout<<"是否继续插入(1/0)"< >d;S.Push(n);}while(d);cout< >tab; switch(tab) { case 1:{ cout< >x; S.Push(x); break; } case 2: { cout<
执行结果截图:
阅读全文
0 0
- 实验四顺序栈的实现
- 实验四 顺序栈
- 实验四顺序栈
- 实验三:顺序栈的实现
- 实验三:顺序栈的实现
- 实验四 顺序栈和链队列的操作
- 实验四--ATM的顺序图
- 实验四:顺序栈和链栈
- 数据结构实验四之顺序栈
- 实验四 顺序栈、链栈(JavaScript)
- 实验四——顺序栈
- 顺序栈和链栈的实现(实验3.1)
- 数据结构|顺序栈的实现(实验3.1)
- 数据结构|顺序栈的实现(实验3.1)
- 实验三 顺序栈的基本操作实现及其应用
- 实验二~顺序表的实现
- 实验三:顺序队列的实现
- 实验1 线性表的顺序实现
- python调用R的方式有用的几个参考文章
- Unity 2D Sprite 一张精灵图片【自动切割(Automatic )】成【不规则的许多个小图片】的步骤
- Wannafly挑战赛1 A-DP
- webstorm 的es6设置之后还是出现红线的解决方式
- springmvc mvc:view-controller使用
- 实验四顺序栈的实现
- ABP学习:领域层创建实体(使用MySql数据库)
- CountDownLatch使用countDown方法来触发其他等待线程再执行的问题
- android AIDL,跨进程通讯
- 为什么Java工具类方法为静态类
- memcache和memcached的区分
- java设计模式---装饰者设计模式
- EDW与维度模型间的抉择
- 集群时间点同步及完全分布式搭建