#ifndef CUSTOMER_H
#define CUSTOMER_H
#include
using namespace std;
class Customer
{
public:
Customer(string name="",int age=0);
void printInfo()const;
private:
string m_strName;
int m_iAge;
};
#endif;#include
#include"Customer.h"
using namespace std;
Customer::Customer(string name,int age)
{
m_strName=name;
m_iAge=age;
}
void Customer::printInfo()const
{
cout<<"姓名:"<
<
#include "MyQueue.h"
#include
using namespace std; /** * 创建数组 */ MyQueue::MyQueue(int queueCapacity) { m_iQueueCapacity=queueCapacity; m_pQueue=new Customer[m_iQueueCapacity]; CleanQueue(); } MyQueue::~MyQueue() { delete[] m_pQueue; m_pQueue=NULL; } void MyQueue::CleanQueue() { m_iHead=0; m_iTail=0; m_iQueueLen=0; } /** * 判空队列 */ bool MyQueue::QueueEmpty() const { if(m_iQueueLen==0) { return true; } else { return false; } } /** * 判满队列 **/ bool MyQueue::QueueFull() const { if(m_iQueueLen==m_iQueueCapacity) { return true; } else { return false; } } /** * 队列长度 **/ int MyQueue::QueueLength() const { return m_iQueueLen; } /** * 入队 **/ bool MyQueue::EnQueue(Customer element) { if(m_iQueueLen==m_iQueueCapacity){ return false; } else { m_pQueue[m_iTail]=element; m_iTail++; m_iTail=m_iTail%m_iQueueCapacity; m_iQueueLen++; return true; } } /** * 首元素出队 **/ bool MyQueue::DeQueue(Customer &element) { if(m_iQueueLen==0){ return false; } else { element=m_pQueue[m_iHead]; m_iHead++; m_iHead=m_iHead%m_iQueueCapacity; m_iQueueLen--; return true; } } /** * 遍历队列 **/ void MyQueue::QueueTraverse() { for(int i=m_iHead;i
#include
#include"MyQueue.h" #include"Customer.h" using namespace std; int main(void) { MyQueue *p=new MyQueue(4); Customer c1("zhangsan",20); Customer c2("lisi",30); Customer c3("wangwu",24); p->EnQueue(c1); p->EnQueue(c2); p->EnQueue(c3); p->QueueTraverse(); Customer c4("",0); p->DeQueue(c4); c4.printInfo(); cout<<"---------------------------"<
QueueTraverse(); /*MyQueue *p=new MyQueue(4); p->EnQueue(10); p->EnQueue(12); p->EnQueue(16); p->EnQueue(18); p->QueueTraverse(); int e=0; p->DeQueue(e); cout<
DeQueue(e); cout<
QueueTraverse(); p->CleanQueue(); p->QueueTraverse(); p->EnQueue(20); p->EnQueue(30); p->QueueTraverse(); delete p; p=NULL;*/ system("pause"); return 0; }
以上内容来源于慕课网。