//main.cpp
#include <iostream>
#include "myQueue.h"
int main()
{
MyQueue* q = new MyQueue(5);
q->enqueue(1);
q->enqueue(2);
q->enqueue(3);
q->enqueue(4);
q->enqueue(5);
q->enqueue(6);
q->dequeue();
q->dequeue();
q->dequeue();
q->dequeue();
q->dequeue();
q->dequeue();
q->dequeue();
q->dequeue();
q->dequeue();
q->dequeue();
return 0;
}
//MyQueue.h
#include <iostream>
class MyQueue
{
public:
MyQueue(int);
void init();
bool enqueue(int);
int dequeue();
private:
int _head;
int _tail;
int _size;
int _cnt;
int* arr;
};//MyQueue.cpp
#include "myQueue.h"
MyQueue::MyQueue(int s)
{
_size = s;
_cnt = 0;
_head = 0;
_tail = 0;
arr = new int[s];
};
void MyQueue::init()
{
this->_head = 0;
this->_tail = 0;
};
bool MyQueue::enqueue(int v)
{
if(_cnt + 1 > _size)
{
std::cout << "The queue is full!!\n";
return false;
}
arr[_tail] = v;
_tail = (_tail + 1) % _size;
std::cout << v << "is enqueued!!\n";
_cnt++;
return true;
};
int MyQueue::dequeue()
{
try
{
if(_cnt == 0)
{
throw "The queue is empty!!\n";
}
}
catch(char* s)
{
std::cout << "The queue is empty!!\n";
return -1;
}
int deq = arr[_head];
std::cout << deq << "is dequeued!!\n";
_head = (_head + 1) % _size;
_cnt--;
return deq;
};
本文详细介绍了使用C++实现队列的基本操作,并通过实例展示了如何使用MyQueue类进行队列的初始化、入队、出队等操作。
7724

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



