//实现遍历队列元素的算法 Qtra(SqQuene Q)
//这里的 visit() 函数为访问函数
//我构造的visit函数的功能是将队列的元素打印出来
#define MAX 100  //最大队列长度
typedef struct{
	int *base;  //初始化的动态分配存储空间
	int front;
	int rear;   //尾指针 
}SqQuene;

//以下为我构造的访问元素函数
void visit(char a){   //假设已知队列元素为 char型 
	cout<<a; 
}

//以下为遍历算法  
void Qtra(SqQuene Q){  //注意我这里并不传入 &Q 因为我遍历并不想改变原来Q的头尾指针的值 
	if(Q.front == Q.rear){
		cout<<"队列为空"<<endl; //先判断是否为空队列
		return ; 
	}
	while(Q.front != Q.rear){ //直到头尾指针重合为止,证明遍历循环队列完成 
		visit(Q.base[Q.front]);
		Q.front = (Q.front+1)%MAX; //取模达到循环的效果 
	}
	return ;
}