顺序队列
来源:互联网 发布:win10一键优化工具 编辑:程序博客网 时间:2024/06/16 19:01
<span style="font-size:24px;">#include <stdio.h>#include <stdlib.h>#include <malloc.h>#define OK 1#define ERROR -1#define MAXSIZE 10#define OVERFLOW -2typedef int statue;typedef int QElemType;typedef struct{QElemType *pBase;int front;int rear;}SqQueue;statue iniSQ(SqQueue *sq){//初始化sq->pBase=(QElemType *)malloc(sizeof(QElemType)*MAXSIZE);if(sq->pBase==NULL){printf("内存分配失败\n");exit(OVERFLOW);}sq->front=sq->rear=0;return OK;}bool isEmpty(SqQueue sq){if(sq.front==sq.rear)return true;return false;}bool isFail(SqQueue sq){if((sq.rear+1)%MAXSIZE==sq.front)return true;return false;}int getLength(SqQueue sq){return (sq.rear-sq.front+MAXSIZE)%MAXSIZE;}statue EnQueue(SqQueue *sq,QElemType val){//入队if(isFail(*sq))return ERROR;sq->pBase[sq->rear]=val;sq->rear=(sq->rear+1)%MAXSIZE;return OK;}statue DeQueue(SqQueue *sq,QElemType *val){//出队if(isEmpty(*sq))return ERROR;*val=sq->pBase[sq->front];sq->front=(sq->front+1)%MAXSIZE;return OK;}statue getHead(SqQueue sq,QElemType *val){if(isEmpty(sq))return ERROR;*val=sq->pBase[sq->front];return OK;}int main(){SqQueue sq;iniSQ(&sq);EnQueue(&sq,2);EnQueue(&sq,3);int val;DeQueue(&sq,&val);printf("%d\n",val);printf("%d",getLength(sq));return 0;}</span>
1 0
- 顺序队列
- 顺序队列
- 顺序队列
- 顺序队列
- 顺序队列
- 顺序队列
- 顺序队列
- 顺序队列
- 顺序队列
- 顺序队列
- 顺序队列
- 顺序队列
- 顺序队列
- 顺序队列
- 顺序队列
- 顺序队列
- 顺序队列
- 顺序队列
- [LeetCode]--383. Ransom Note
- freeDiameter的简单client/server测试程序实现
- 以太坊智能合约安全编程最佳实践smart-contract-best-practices
- 常用的数据结构(二叉树)
- 计时器
- 顺序队列
- 利用辅助服务AccessibilityService实现微信自动抢红包
- 获取App和设备信息
- android fragmenttabhost 使用之二
- 构建高并发高可用的电商平台架构实践
- webstoem自动编译less文件
- cocos2d-JS 进阶主题 - JS到JAVA反射
- 获取txt pdf doc docx类型文件内容
- java 怎么获取jdk版本