实验4:栈和队列的基本操作实现及其应用之《顺序队列》
来源:互联网 发布:西门子plc300仿真软件 编辑:程序博客网 时间:2024/05/01 22:08
实验4:栈和队列的基本操作实现及其应用之《顺序队列》
一、实验目的
1、 熟练掌栈和队列的结构特点,掌握栈和队列的顺序存储和链式存储结构和实现。
2、 学会使用栈和队列解决实际问题。
二、实验内容建立一个顺序队列,实现队列的入队和出队操作。
建立一个顺序队列,实现队列的入队和出队操作。
#ifndef CirQueue_h#define CirQueue_h#includeconst int q = 100;class CirQueue{public:CirQueue() { front = rear = q - 1; }~CirQueue() {};void Push(int x);int Pop();int GetTop();int Empty() { if (front == rear)return 1;else return 0;}private:int data[q];int front, rear;};#endif
#include"CirQueue.h"#includeusing namespace std;void CirQueue::Push(int x){if ((rear + 1) % q == front)throw"上溢";rear = (rear + 1) % q;data[rear] = x;}int CirQueue::Pop(){if (rear == front)throw"下溢";front = (front + 1) % q;return data[front];}int CirQueue::GetTop(){int i;if (rear == front)throw"下溢";i = (front + 1) % q;return data[i];}void main(){CirQueue C;if (C.Empty()==0)cout << "队列为空" << endl;elsecout << "队列为非空" << endl;cout << "对1和2执行入队操作" << endl;C.Push(1);C.Push(2);cout << "队头元素为:" << endl;cout << C.GetTop() << endl;cout << "执行一次出队操作:" << endl;C.Pop();cout << "队头元素为:" << endl;cout << C.GetTop() << endl;system("pause");}
阅读全文
0 0
- 实验4:栈和队列的基本操作实现及其应用之《顺序队列》
- 实验4:栈和队列的基本操作实现及其应用之《顺序队列》
- 实验4:栈和队列的基本操作实现及其应用之《顺序栈》
- 实验4:栈和队列的基本操作实现及其应用之《顺序栈》
- 实验4:栈和队列的基本操作实现及其应用之《顺序栈》
- 实验4:栈和队列的基本操作实现及其应用之《循环队列》
- 实验4:栈和队列的基本操作实现及其应用之《链队列》
- 实验4:栈和队列的基本操作实现及其应用之《链队列》
- 实验4:栈和队列的基本操作实现及其应用之《链队列》
- 实验3:栈和队列的基本操作实现及其应用——顺序队列和链队列
- 实验三:栈和队列的基本操作实现及其应用——顺序栈
- 实验4:栈和队列的基本操作实现及其应用之《链栈》
- 实验4:栈和队列的基本操作实现及其应用之《链栈》
- 实验4:栈和队列的基本操作实现及其应用之《进制转换》
- 实验4:栈和队列的基本操作实现及其应用之《排号叫号管理》
- 实验4:栈和队列的基本操作实现及其应用之《进制转换》
- 实验4:栈和队列的基本操作实现及其应用之《链栈》
- 实验4:栈和队列的基本操作实现及其应用——循环队列
- 使用tinyxml创建及解析XML文件
- vuejs(2)
- 一些简单的布局
- 学生成绩
- Windows server上用HammerDB跑MSSQL
- 实验4:栈和队列的基本操作实现及其应用之《顺序队列》
- Java.lang.NotFoundClassException
- 3·RHCSA分区、lvm、swap
- POJ
- 使用vue-manage-system找不到sass依赖的
- python/R 十种机器学习算法
- pip安装报错'not a supported wheel on this platform'
- 数据可视化之美
- C++11新特性之八——函数对象function