#include<iostream>
using namespace std;
#define SIZE 10
class SeqQueue
{
public:
SeqQueue()
{
m_data = new int[SIZE];
m_head = m_rear = 0;
}
~SeqQueue()
{
if(m_data != NULL)
{
delete []m_data;
m_data = NULL;
}
}
void InQueue(int v)
{
if(!IsFull())
{
m_data[m_rear%SIZE] = v;
m_rear = (m_rear+1)%SIZE;
}
}
void OutQueue()
{
if(!IsEmpty())
m_head = (++m_head )%SIZE;
}
bool IsEmpty(){return m_head == m_rear ? true : false;}
bool IsFull(){return (m_rear+1)%SIZE == m_head ? true : false;}
void Print()
{
for(int i = m_head;i !=m_rear;)
{
cout<<m_data[i]<<" ";
i = (i+1)%SIZE;
}
cout<<endl;
}
int Length()
{
return (m_rear - m_head + SIZE)%SIZE;
}
private:
int *m_data;
int m_head;
int m_rear;
};数据结构之C++实现顺序队列(SeqQueue)(无主函数)
最新推荐文章于 2024-01-03 21:15:38 发布
本文介绍了一个使用C++实现的循环队列类,包括队列的基本操作如入队、出队、判断队列是否为空及满等,并提供了打印队列元素及获取队列长度的功能。
1137

被折叠的 条评论
为什么被折叠?



