标签:struct 队列 queue 实现 int 循环 tom front rear
#include <stdio.h> #include <stdlib.h> #define MAXSIZE 100 struct queue{ int front; int rear; int *p; }; void init(struct queue* s ) { s->front=0; s->rear=0; s->p=(int*)malloc(sizeof(int*)*MAXSIZE); } void enqueue(struct queue* s,int e) { if((s->rear+1)%MAXSIZE==s->front) { puts("queue full\n"); exit; } s->p[s->rear]=e; s->rear++; } int dequeue(struct queue* s) { int e; if(s->rear==s->front) { puts("queue empty\n"); exit; } e=s->p[s->front]; s->front++; return e; } void print_queue(struct queue* s) { int i,j; i=s->front;j=s->rear; if(s->rear==s->front) { puts("queue empty can't print\n"); exit; } if(s->rear>s->front) for(i;i<j;i++) printf("%d ",s->p[i]); printf("\n"); } int main() { struct queue tom; init(&tom); printf("tom.age=%d,tome.high=%d,tom->p=%p\n",tom.front,tom.rear,tom.p); enqueue(&tom,5); enqueue(&tom,10); enqueue(&tom,11); print_queue(&tom); dequeue(&tom); print_queue(&tom); return 0; }
输出结果
tom.age=0,tome.high=0,tom->p=0x138f260
5 10 11
10 11
标签:struct,队列,queue,实现,int,循环,tom,front,rear 来源: https://www.cnblogs.com/codeprojects/p/15841152.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。