实验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
原创粉丝点击