-
队列 :普通队列 浪费资源不方便
环形队列 充分利用每个内存空间
查看全部 -
#include "Customer.h" class MyQueue{ public: ... bool EnQueue(Customer element); bool DeQueue(Customer &element); ... private: Customer *m_pQueue; ... }; //在MyQueue.cpp中 void MyQueue::QueueTraverse(){ for(int i=m_iHead;i<m_iQueueLen + m_iHead;i++){ m_pQueue[i%m_iQueueCapacity].printInfo(); //printInfo是Customer中的成员函数,打印出Customer的数据成员 } } //使用 MyQueue *p=new MyQueue[4]; Customer c1("zhangsan",20); p->EnQueue(c1);
查看全部 -
//MyQueue.cpp #include "MyQueue.h" #include <iostream> using namespace std; MyQueue::MyQueue(int queueCapacity){ m_iQueueCapacity=queueCapacity; ClearQueue();m_pQueue=new int[m_iQueueCapacity]; } MyQueue::~MyQueue(){ delete []m_pQueue; m_pQueue=NULL; } void MyQueue::ClearQueue(){ m_iHead=0; m_iTail=0; m_iQueueLen=0; } //判断为空 bool MyQueue::QueueEmpty() const{ if(m_iQueueLen==0){ return true; } else{ return false; } } //队列长度 int MyQueue::QueueLength() const{ return m_iQueueLen; } //插入新元素 bool MyQueue::EnQueue(int element){ if(QueueFull()){ return false; } else{ m_pQueue[m_iTail]=element; m_iTail++; //下标 m_iTail=m_iTail % m_iQueueCapacity; m_iQueueLen++;return true; } } //判断为满 bool MyQueue::QueueFull() const{ if(m_iQueueLen == m_iQueueCapacity){ return true; } else{ return false; } } //元素出队 bool MyQueue::DeQueue(int &element){//必须是引用 if(QueueEmpty()){ return false; } else{ element=m_pQueue[m_iHead]; m_iHead++; m_iHead=m_iHead % m_iQueueCapacity; m_iQueueLen--;return true; } } //遍历 void MyQueue::QueueTraverse(){ cout<<endl; for(int i=m_iHead;i<m_iQueueLen+m_iHead;i++){ cout<<m_pQueue[i%m_iQueueCapacity]<<endl; } }
查看全部 -
class MyQueue{ public: MyQueue(int queueCapacity); //创建队列 virtual ~MyQueue(); //销毁队列 void ClearQueue(); //清空队列 bool QueueEmpty() const; //判空队列 int QueueLength() const; //队列长度 bool EnQueue(int element); //新元素入队 bool DeQueue(int &element); //首元素出队 void QueueTraverse(); //遍历队列 private: int *m_pQueue; //队列数组指针 int m_iQueueLen; //队列元素个数 int m_iQueueCapacity; //队列数组容量 };
查看全部 -
【队列】先入先出First in First out(FIFO)
1、普通队列
2、环形队列:顺时针和逆时针的排队
查看全部 -
.查看全部
-
.查看全部
-
.查看全部
-
.查看全部
-
.查看全部
-
.查看全部
-
.查看全部
-
.查看全部
-
.查看全部
-
.查看全部
举报
0/150
提交
取消