博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据结构--队列之C数组实现
阅读量:6339 次
发布时间:2019-06-22

本文共 1635 字,大约阅读时间需要 5 分钟。

队列是一种限定操作的线性表,它只能在表的一段插入,另外一段取出.所以也称为先进先出数据结构(FIFO---First In First Out)

C代码如下:

1 #include
2 #define maxsize 5 3 4 typedef int ElemType; 5 6 typedef struct queue 7 { 8 int head; 9 int tail;10 ElemType Data[maxsize];11 }Queue;12 13 void InitQueue(Queue *Q)14 {15 Q->tail=0;16 Q->head=0;17 }18 19 void EnQueue(Queue *Q)20 {21 int value;22 int i;23 printf("Input Queue Value:\n");24 scanf("%d",&value);25 Q->head++;26 int len=Q->head-Q->tail;27 if(len
=0;i--)30 Q->Data[i+1]=Q->Data[i];31 }32 Q->Data[Q->tail]=value;33 printf("\n");34 }35 36 void DeQueue(Queue *Q)37 {38 int len=Q->head-Q->tail-1;39 Q->head=Q->head-1;40 if(len<=maxsize)41 {42 printf("Out put Value:\n");43 printf("%d ",Q->Data[len]);44 }45 46 printf("\n");47 }48 49 void IsEmpty(Queue *Q)50 {51 if(Q->head==0&&Q->tail==0)52 printf("Queue is empty.\n");53 else54 printf("Queue is not empet.\n ");55 56 printf("\n");57 }58 59 void IsFull(Queue *Q)60 {61 if(Q->head-Q->tail>=maxsize)62 printf("Queue is Full.\n");63 else64 printf("Queue is not Full.\n");65 66 printf("\n");67 }68 69 void main()70 {71 Queue Q;72 InitQueue(&Q);73 EnQueue(&Q);74 EnQueue(&Q);75 EnQueue(&Q);76 EnQueue(&Q);77 EnQueue(&Q);78 IsEmpty(&Q);79 IsFull(&Q);80 81 DeQueue(&Q);82 DeQueue(&Q);83 DeQueue(&Q);84 DeQueue(&Q);85 DeQueue(&Q);86 IsEmpty(&Q);87 IsFull(&Q);88 }

 

结果图:

 

转载于:https://www.cnblogs.com/vpoet/p/4659715.html

你可能感兴趣的文章
工作中MySql的了解到的小技巧
查看>>
loadrunner-2-12日志解析
查看>>
C# Memcached缓存
查看>>
正则表达式
查看>>
mysql [ERROR] Can't create IP socket: Permission denied
查看>>
PBRT笔记(4)——颜色和辐射度
查看>>
CustomView的手势缩放总结
查看>>
linux复制指定目录下的全部文件到另一个目录中,linux cp 文件夹
查看>>
CentOS yum安装mysql
查看>>
OceanBase笔记1:代码规范
查看>>
[Algorithms] Longest Increasing Subsequence
查看>>
MAC下GitHub命令操作
查看>>
springboot之filter/listener/servlet
查看>>
Thinkphp --- 去掉index.php
查看>>
Spring+SpringMVC+MyBatis深入学习及搭建(十一)——SpringMVC架构
查看>>
oracle故障解决
查看>>
tcpdump
查看>>
数据库内存结构
查看>>
利用Shell开发跳板机功能脚本案例
查看>>
51CTO的技术门诊谈OSSIM
查看>>