首页 / 更多教程 / 数据结构-循环队列程序演示
数据结构-循环队列程序演示
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了数据结构-循环队列程序演示,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2077字,纯文字阅读大概需要3分钟。
内容图文
1 /* 2 循环队列需要2个参数来确定; 3 front,rear 4 1)队列初始化 5 front和rear的值都为零 6 2)队列非空 7 front代表的是队列的第一个元素 8 rear代表的是队列的最后一个有效元素 9 3)队列空 10 front和rear的值相等,但不一定是零 11 */ 12 13 14 /* 15 队列 16 定义:一种可以实现先进先出的存储结构 17 分类: 18 静态队列 19 链式队列 20 */ 21 #include <stdio.h> 22 #include <malloc.h> 23 24 typedef struct Queue 25{ 26int *pBase; 27int front; 28int rear; 29}QUEUE; 30 31void init(QUEUE *); 32bool en_queue(QUEUE*, int val); 33void traverse_queue(QUEUE*); 34void out_queue(QUEUE *, int*); 35bool full_queue(QUEUE*); 36bool empty_queue(QUEUE*); 37 38int main(void) 39{ 40 QUEUE Q; 41int val; 42 init(&Q); 43 en_queue(&Q, 0); 44 en_queue(&Q, 1); 45 en_queue(&Q, 2); 46 en_queue(&Q, 3); 47 en_queue(&Q, 4); 48 en_queue(&Q, 5); 49 en_queue(&Q, 6); 50 en_queue(&Q, 7); 51 en_queue(&Q, 8); 52 traverse_queue(&Q); 53if (out_queue(&Q, &val)) 54 { 55 printf("出队成功,队列出队的元素为:%d\n",val); 56 } 57else 58 { 59 printf("出队失败!\n"); 60 } 61 traverse_queue(&Q); 62return0; 63} 64 65void init(QUEUE *pQ) 66{ 67 pQ->pBase = (int*)malloc(sizeof(int) * 6); 68 pQ->front = 0; 69 pQ->rear = 0; 70} 71 72bool en_queue(QUEUE *pQ, int val) 73{ 74if (full_queue(pQ)) 75 { 76returnfalse; 77 } 78else 79 { 80 pQ->pBase[pQ->rear] = val; 81 pQ->rear = (pQ->rear + 1) % 6; 82returntrue; 83 } 84} 85 86bool full_queue(QUEUE*pQ) 87{ 88if (pQ->front == (pQ->rear+1)%6) 89 { 90returntrue; 91 } 92else 93 { 94returnfalse; 95 } 96} 97 98void traverse_queue(QUEUE *pQ) 99{ 100int i = pQ->front; 101while (i != pQ->rear) 102 { 103 printf("%d ", pQ->pBase[i]); 104 i = (i + 1) % 6; 105 } 106return; 107} 108109bool empty_queue(QUEUE *pQ) 110{ 111if (pQ->front == pQ->rear) 112 { 113returntrue; 114 } 115else116 { 117returnfalse; 118 } 119} 120121bool out_queue(QUEUE*pQ, int* pVal) 122{ 123if (empty_queue(pQ)) 124 { 125returnfalse; 126 } 127else128 { 129 *pVal = pQ->pBase[pQ->front]; 130 pQ->front = (pQ->front + 1) % 6; 131returntrue; 132 } 133 }
原文:https://www.cnblogs.com/hujianglang/p/9704263.html
内容总结
以上是互联网集市为您收集整理的数据结构-循环队列程序演示全部内容,希望文章能够帮你解决数据结构-循环队列程序演示所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。