码迷,mamicode.com
首页 > 编程语言 > 详细

C++队列(数组)

时间:2014-08-11 12:02:52      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:blog   http   os   io   数据   for   2014   ar   

#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 = qq->q[qq->front];
   qq->front++;
 
  
   qq->n--;
   return value;

}



void main()
{
   int number;
   //queue*  qq;没有开辟内存空间导致内存泄漏
   queue*  qq =new queue();
   if(!qq)
   {
      return ;
   }
   initQueue(qq);
   //循环添加n个元素
   for(int i=0;i<6;i++)
   {
      cin>>number;
	  addElement(qq,number);
   }
   
   cout<<"显示队列中的所有元素"<<endl;
   display(qq);
   
   cout<<"移除队首元素"<<endl;
   removeElement(qq);


   cout<<"再次显示全队列元素"<<endl;
   display(qq);

   cout<<"显示计数(队列数据的个数)"<<endl;
   cout<<qq->n<<endl;

}<img src="http://img.blog.csdn.net/20140811105839646" alt="" />

C++队列(数组),布布扣,bubuko.com

C++队列(数组)

标签:blog   http   os   io   数据   for   2014   ar   

原文地址:http://blog.csdn.net/u010296979/article/details/38488839

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!