#include<stdio.h>
#include<stdlib.h>  //需要的头文件
#define MAXSIZE 10
typedef char QueueData;
typedef struct {
    QueueData *data;
    int front;
    int rear; 
} SeqQueue;         //说明循环队列的结构体变量类型
  
int Create_Queue (SeqQueue &Q )
{
 char i='A';
 int y=0;
 Q.data=(QueueData *)malloc(MAXSIZE *sizeof(QueueData));
 if(! Q.data)
   return 0;
 else
  Q.front=Q.rear=0;
  while((Q.front+1)%MAXSIZE!=Q.rear &&y<6)
  {
   Q.data[Q.front]=i;
   Q.front=(Q.front+1)%MAXSIZE;
   i++;
   y++;
       }
   if(y==6) 
   {printf("赋值成功!\n");return 1;}
   else 
   {printf("赋值不成功!\n");return 0;}
}void Print_Queue(SeqQueue &Q)  
{
  int i;
  if(Q.rear<Q.front)
     Q.rear=Q.rear+MAXSIZE;
  if(Q.front!=Q.rear)
 {
   for(i=0; i<=Q.rear; i++)
   printf("Q.data[(Q.front+i)%MAXSIZE]");
  }int EnQueue(SeqQueue &Q,char x)
{
 if((Q.rear+1)%MAXSIZE==Q.front) 
     {printf("队列已满!\n");
        return 0;}
Q.data[Q.rear]=x;
Q.rear=(Q.rear+1)%MAXSIZE;
return 1;
}void main()
{
 SeqQueue Q;
 char x;
 int i;
 i=Create_Queue (Q );        //初始化队列
 if(i==1) 
 {Print_Queue(Q );       //显示队列中各元素的值
 printf("请输入x的值");}
 scanf("%c",&x );
 EnQueue(Q, x);  //在队尾插入新的元素x
 Print_Queue(Q );
}