C语言实现循环队列
来源:互联网 发布:企业网站做优化 编辑:程序博客网 时间:2024/05/21 08:03
C语言实现的循环队列,用数组形式实现的,下面是实现的代码,初始化,插入,删除,和打印操作。
#include<stdlib.h>
#include"seq_queue.h"
#include <stdio.h>
#include<math.h>
static bool is_full(seq_queue *q)
{
return (q->tail+1)%MAX_SIZE == q->head;
}
bool is_empty(seq_queue *q)
{
return q->head == q->tail;
}
bool init_queue(seq_queue *q)
{
if(q==NULL)
{
return false;
}
q->head=0;
q->tail=0;
return true;
}
bool push_queue(seq_queue *q,ELEM_TYPE e)
{
if(is_full(q))
{
printf("队列已满!\n");
return false;
}
q->data[q->tail]=e;
q->tail=(q->tail+1)%MAX_SIZE;
return true;
}
bool pop_queue(seq_queue *q,ELEM_TYPE *e)
{
if(is_empty(q))
{
printf("队列为空!\n");
return false;
}
*e=q->data[q->head];
q->head=(q->head+1)%MAX_SIZE;
return true;
}
bool show_queue(seq_queue *q)
{
if(q==NULL || is_empty(q))
{
return false;
}
int i=0;
if(q->tail>q->head)
{
for(i=q->head;i<q->tail;i++)
{
printf("%d ",q->data[i]);
}
}
else if(q->tail<q->head)
{
for(i=q->head;i<MAX_SIZE;i++)
{
printf("%d ",q->data[i]);
}
for(i=0;i<q->tail;i++)
{
printf("%d ",q->data[i]);
}
}
return true;
}
- 循环队列C语言实现
- c语言实现循环队列
- C语言实现循环队列
- C语言实现循环队列
- C语言实现循环队列
- 数据结构(C语言)实现循环队列
- 循环队列的实现(C语言)
- 数据结构C语言实现之循环队列
- 数据结构.循环队列(C语言实现)
- c语言循环线性队列的实现
- 数据结构:循环队列(C语言实现)
- 循环队列的实现(C语言)
- 顺序循环队列的c语言实现
- 数据结构:循环队列(C语言实现)
- 数据结构C语言实现之循环队列
- C语言-循环队列的简单实现
- 数据结构之---C语言实现循环队列
- 循环队列-顺序存储-c语言实现
- C语言可变参函数的实现原理浅析
- 根据遍历结果构造二叉树
- Cocos2d-x常用动作 Action API
- 简单方法实现重力感应背景图(GravityImageView)
- js事件
- C语言实现循环队列
- linux开机自启动的几种方法
- 程序员技术练级攻略
- JavaScript中的prototype.bind()方法介绍
- 关于对象实例的一些新手问题
- 中文编码杂谈
- SDL起步——SDL2的配置
- Linux基本介绍
- 后缀数组 poj2774 Long Long Message