静态数组实现队列
来源:互联网 发布:无锡行知技工学校 编辑:程序博客网 时间:2024/05/16 15:30
#include<stdlib.h>
#define QUEUE_TYPE int
/*队列元素的类型*/
void creat_queue(size_t size);
/*创建一个队列,这只适用于使用动态分配数组的队列,链式的不
需要,普通数组实现的队列在编译时就已经确定大小*/
void destroy_queue();
//销毁一个队列,这只适用于链式的和动态分配数组的队列,因为普通数组会被自动清栈。
void insert(QUEUE_TYPE value);
void delete();
//从队列里移除一个元素,并将其丢弃
QUEUE_TYPE first();
//返回队列的第一个元素值,但不删除
int is_empty();
int is_full();
头文件
//////////////////////////////////////////////////////////////////////////
#include<stdio.h>
#include<stdlib.h>
#include"queue.h"
#define false 0
#define true 1
//用一个普通数组(循环数组)实现队列
//数组的长短用#define 定义
#define QUEUE_SIZE 100
#define ARRAY_SIZE (QUEUE_SIZE+1) //数组的长度
QUEUE_TYPE queue[ARRAY_SIZE];
size_t front = 1;
size_t rear = 0;
void insert(QUEUE_TYPE value)
{
if (!is_full())
{
rear = (rear + 1) % ARRAY_SIZE;
queue[rear] = value;
}
}
void delete()
{
if (!is_empty())
{
front = (front+1) % ARRAY_SIZE;
}
}
QUEUE_TYPE first()
{
if (!is_empty())
{
return queue[front];
}
}
int is_empty()
{
return (rear+1) % ARRAY_SIZE==front;
}
//这时,队列里实际上没有真正满
int is_full()
{
{
return (rear + 2) % ARRAY_SIZE == front;
}
}
int main()
{
insert(23);
insert(22);
insert(23);
insert(24);
int n= first();
printf("%d\n",n);
return 0;
}
- 静态数组实现队列
- 静态数组实现的队列
- 静态数组实现循环队列
- 静态数组实现循环队列
- 用数组实现队列--静态队列
- 静态数组实现队列(C语言)
- 一个静态数组实现的简单队列
- 静态数组实现循环队列 c语言
- C语言实现使用静态数组实现循环队列
- c语言数组方式实现静态循环队列
- 基础知识--数组、栈、队列的静态、动态和链式实现
- 静态数组队列(循环队列)基本操作
- 队列----循环数组实现队列
- 队列学习--数组实现
- 队列的数组实现
- 数组实现队列
- 队列-数组实现
- 队列的数组实现
- IOS多线程开发其实很简单
- web应用里的flash message的作用
- 无法以debug的方式,启动项目
- 自定义button样式,圆角按钮
- 第十三周第四天
- 静态数组实现队列
- 关于生活,理想
- OK6410裸机开发之LED灯
- Mac下Android环境搭建
- 学Android---AutoCompleteTextView
- android开发游记:从viewpager禁用滚动 总结android事件分发机制
- Hibernate 的 Criteria的用法
- unity的图像边缘检测以及简单的模糊效果
- MySQL中一些查看事务和锁情况的常用语句