Chinaunix首页 | 论坛 | 博客
  • 博客访问: 480492
  • 博文数量: 76
  • 博客积分: 5196
  • 博客等级: 大校
  • 技术积分: 1414
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-10 18:43
个人简介

转了个圈,又回来了

文章分类

全部博文(76)

文章存档

2013年(1)

2011年(8)

2010年(9)

2009年(22)

2008年(36)

我的朋友

分类: 嵌入式

2009-02-10 09:29:07

循环队列:
typedef struct CQNode
{
    int data[MAXSIZE];
    int front;
    int rear;
}CQNode,*CQList;
说明:front代表队列头,rear代表队列尾。整个队列总共能存MAXSIZE-1个数据。
front指向队列第一个有效数据的前面一个空格。rear指向最后一个有效数据。
刚入队的元素总是存在队尾。
刚开始时:front=rear=0
队列空:front == rear
队列满:(rear+1)%MAXSIZE == front
队列中有效元素个数:(rear - front+ MAXSIZE) % MAXSIZE;
队列中剩余空间个数:(front - rear - 1 + MAXSIZE) % MAXSIZE;
在循环队列中写入一个元素时:
rear = (rear+1) % MAXSIZE;
data[rear] = element;

读走一个元素时:
front = (front+1) % MAXSIZE;
element = data[front];
阅读(1085) | 评论(0) | 转发(0) |
0

上一篇:wince 等待函数

下一篇:XIP工作方式

给主人留下些什么吧!~~