首页 > 代码库 > C++队列(数组)

C++队列(数组)

#include "iostream.h"

#define MAXSIZE  10


typedef  struct  queue{
  
	int q[MAXSIZE] ;
	int front;
	int rear;
	int n;//用于引用计数
};


void  initQueue(queue*  qq);
void  initQueue(queue* qq)  //此处必须是引用或者是指针才有效
{
    qq->front=0;
	qq->rear=0;
    qq->n=0;
	for(int i=0;i<MAXSIZE;i++)
	{
		qq->q[i]=0;
	}
}




bool  isQueueEmpty(queue* qq); //判断队列是否为空
bool  isQueueEmpty(queue* qq)
{
   if(qq->front==qq->rear)
   {
      return true;
   }


   return false;

}




bool isQueueFull(queue* qq);//判断是否队列已满
bool isQueueFull(queue* qq)
{
  if(qq->rear==MAXSIZE)
  {
  
    return true;
  }

  return false;

}



bool addElement(queue* qq , int Element);
bool addElement(queue* qq , int Element)
{
  //从队列的队尾入队
	if(isQueueFull(qq)==false)
	{
	   qq->q[qq->rear]=Element;
       qq->rear++;
       qq->n++; //队列数据加一
       return true;
	}
	
	return false;
}



void display(queue* qq);//显示队列中的所有元素
void display(queue* qq)
{
   for(int i=qq->front;i<qq->rear;i++)
   {
      cout<<qq->q[i]<<endl;  
   }

}


int removeElement(queue* qq);
int removeElement(queue* qq)
{
   int value = http://www.mamicode.com/qq->q[qq->front];>