1 #include "stdafx.h" 2 #include <iostream> 3 #include <exception> 4 using namespace std; 5 6 //循环队列的顺序存储结构 7 8 typedef int Status; 9 const int ok = 1; 10 const int error = 0; 11 const int maxSize = 5; 12 13 typedef int QElemType; 14 15 typedef struct QNode 16 { 17 QElemType data; 18 struct QNode *next; 19 }QNode,*QueuePtr; 20 21 typedef struct 22 { 23 QueuePtr front,rear; 24 }LinkQueue; 25 26 Status EnQueue(LinkQueue *Q,const QElemType e) 27 { 28 QueuePtr p = (QueuePtr)malloc(sizeof(QNode)); 29 if(!p) 30 exit(OVERFLOW); 31 p->data=e; 32 p->next = NULL; 33 Q->rear->next=p; 34 Q->rear=p; 35 return ok; 36 } 37 Status DeQueue(LinkQueue *Q) 38 { 39 if(Q->front==Q->rear) 40 return error; 41 QueuePtr p; 42 p=Q->front->next; 43 cout<<p->data<<endl; 44 Q->front->next = p -> next; 45 if(Q->rear == p) 46 Q->rear = Q->front; 47 free(p); 48 return ok; 49 } 50 int _tmain(int argc, _TCHAR* argv[]) 51 { 52 53 return 0 ; 54 }