Queue

来源:互联网 发布:python运维流程系统 编辑:程序博客网 时间:2024/06/03 20:36
#include<stdio.h>#include<stdlib.h>typedef struct Queue{int *pBase;int front;int rear;}QUEUE;void init(QUEUE *pQ);void traverse_queue(QUEUE *pQ);bool en_queue(QUEUE *pQ,int val);//入队 bool full_queue(QUEUE *pQ);bool out_queue(QUEUE *pQ,int *pVal);bool emput_queue(QUEUE *pQ);int main(){QUEUE Q;int val;init(&Q);//en_queue(&Q,1);//en_queue(&Q,2);//en_queue(&Q,3);//en_queue(&Q,4);//en_queue(&Q,5);//en_queue(&Q,6);//en_queue(&Q,7);//en_queue(&Q,8);traverse_queue(&Q);if(out_queue(&Q,&val)){printf("出队成功,队列出对的元素是:%d\n",val);}else{printf("出队失败!\n"); }traverse_queue(&Q);return 0;}void init(QUEUE *pQ){pQ->pBase=(int *)malloc(sizeof(int)*6);pQ->front=0;pQ->rear=0;}void traverse_queue(QUEUE *pQ){int i=pQ->front;while(i!=pQ->rear){printf("%d ",pQ->pBase[i]);i=(i+1)%6;}printf("\n");return ;}bool full_queue(QUEUE *pQ){if((pQ->rear+1)%6==pQ->front){return true;}else{return false;}}bool en_queue(QUEUE *pQ,int val){if(full_queue(pQ)){return false;}else{pQ->pBase[pQ->rear]=val;pQ->rear=(pQ->rear+1)%6;return true;}}bool emput_queue(QUEUE *pQ){if(pQ->front==pQ->rear){return true;}else{return false;}}bool out_queue(QUEUE *pQ,int *pVal){if(emput_queue(pQ)){return false;}else{*pVal=pQ->pBase[pQ->front];pQ->front=(pQ->front+1)%6;return true;}}

原创粉丝点击