概述
一、 实验目的
1. 熟悉队列的顺序和链式存储结构
2. 掌握队列的基本运算
3. 能够利用队列的基本运算完成队列应用的运算
二、 实验内容
1. 假设以数组sequ[m]存放循环队列的元素,同时设变量rear和quelen 分别指示循环队列中队尾元素的位置和内含元素的个数。编写实现该循环队列的入队和出队操作的算法。提示:队空的条件:sq->quelen==0;队满的条件:sq->quelen==m。
//cirqueue.h
//本头文件为循环队列
#include<iostream>
using namespace std;
const int m=100;
template<class T>
class cirqueue //循环队列cirqueue类
{
private:
T sequ[m]; //sequ[m]存放循环队列的元素
int front,rear; //front:队头元素的前一个位置,rear:队尾元素
int quelen; //循环队列元素的个数
public:
cirqueue(){front=rear=m-1;quelen=0;} //构造函数
~cirqueue(){} //析构函数
void enqueue(T x);//入队
T dequeue(); //出队
int length(); //求元素个数
};
template<class T>
void cirqueue<T>::enqueue(T x) //入队
{
rear=(rear+1)%m;
sequ[rear]=x;
}
template<class T>
T cirqueue<T>::dequeue()//出队
{
front=(front+1)%m;
return sequ[front];
}
template<class T>
int cirqueue<T>::length()//求元素个数
{
if(front<=rear)quelen=rear-front;
else quelen=100-front+rear;
return quelen;
}
最后
以上就是平淡柜子为你收集整理的数据结构实验三 队列(循环队列出队,入队)的全部内容,希望文章能够帮你解决数据结构实验三 队列(循环队列出队,入队)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复