没有合适的资源?快使用搜索试试~ 我知道了~
这个是用c 实现的数组循环队列,比较方便使用,作者添加了注释,有需要的可以看看,希望对大家有帮助
资源推荐
资源详情
资源评论
/*静态数组队列(循环队列):C语言实现版*/
/*特点:队列大小固定,可以防止伪溢出发生*/
#include <stdio.h>
#include <stdlib.h>
/*定义队列*/
#define MAX_Q_SIZE 5 /*最大队列长度+1 ,实际长度为4*/
typedef struct {
int *base ; /*初始化时分配存储空间,假设元素类型为int*/
int front ; /*头指针,实际上为数组下标*/
int rear ; /*尾指针,实际上为数组下标*/
} Queue ;
/*1、队列初始化(构造一个空队列,提前分配好空间)*/
int QueueInit(Queue *Q){
Q->base = (int *)malloc(MAX_Q_SIZE*sizeof(int)) ; /*提前分配好空间*/
if(!Q->base)
return -1 ;
Q->front = Q->rear = 0 ; /*空队列*/
return 0 ;
}
/*2、<span style="color:#ff0000;">清空队列(不释放分配的空间,注意和销毁队列的区别)</span>*/
void ClearQueue(Queue *Q){
Q->front = Q->base = 0 ;
}
/*3、销毁队列(释放base指向空间)*/
/*特点:队列大小固定,可以防止伪溢出发生*/
#include <stdio.h>
#include <stdlib.h>
/*定义队列*/
#define MAX_Q_SIZE 5 /*最大队列长度+1 ,实际长度为4*/
typedef struct {
int *base ; /*初始化时分配存储空间,假设元素类型为int*/
int front ; /*头指针,实际上为数组下标*/
int rear ; /*尾指针,实际上为数组下标*/
} Queue ;
/*1、队列初始化(构造一个空队列,提前分配好空间)*/
int QueueInit(Queue *Q){
Q->base = (int *)malloc(MAX_Q_SIZE*sizeof(int)) ; /*提前分配好空间*/
if(!Q->base)
return -1 ;
Q->front = Q->rear = 0 ; /*空队列*/
return 0 ;
}
/*2、<span style="color:#ff0000;">清空队列(不释放分配的空间,注意和销毁队列的区别)</span>*/
void ClearQueue(Queue *Q){
Q->front = Q->base = 0 ;
}
/*3、销毁队列(释放base指向空间)*/
资源评论
David.li
- 粉丝: 48
- 资源: 32
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功