单片机的FIFO(先入先出)循环队列实现
// 文件:config.h
//////////////////////////////////////////////////////////
#ifndef __CONFIG_H
#define __CONFIG_H
//这一段无需改动
//This segmentshould not be modified
#ifndef TRUE
#define TRUE
#endif
#ifndef FALSE
#define FALSE 0
#endif
typedef unsigned char
typedef signed
typedef unsigned short uint16;
typedef signed
typedef unsigned int
typedef signed
typedef float
#i nclude "FIFOQUEUE.h"
#endif
//////////////////////////////////////////////////////////
// 文件:FIFOQUEUE.h
//////////////////////////////////////////////////////////
#ifndef _FIFOQUEUE_H
#define _FIFOQUEUE_H
#define ElemType
#define QueueSize
#define QueueFull
#define QueueEmpty
#define QueueOperateOk 2
struct FifoQueue
{
};
//Queue Initalize
extern void QueueInit(struct FifoQueue *Queue);
// Queue In
extern uint8 QueueIn(struct FifoQueue *Queue,ElemType sdat);
// Queue Out
extern uint8 QueueOut(struct FifoQueue *Queue,ElemType *sdat);
#endif
//////////////////////////////////////////////////////////
// 文件:FIFOQUEUE.C
//////////////////////////////////////////////////////////
#i nclude "config.h"
//Queue Init
void QueueInit(struct FifoQueue *Queue)
{
}
// Queue In
uint8 QueueIn(struct FifoQueue *Queue,ElemType sdat) //数据进入队列
{
}
// Queue Out
uint8 QueueOut(struct FifoQueue *Queue,ElemType *sdat)
{
}
//////////////////////////////////////////////////////////
// 文件:Main.C
//////////////////////////////////////////////////////////
#i nclude
#i nclude "config.h"
void main(void)
{
}
队列是一种先进先出(first infirst out,缩写为FIFO)的线性表。它只允许在标的一端进行插入,而在另一端删除元素。这和我们日常生活中的排队是一致的,最早进入队列的元素最早离开。在队列中,允许插入的一端叫做队尾(rear),允许删除的一端则称为对头(front)(排队买票,窗口一端叫对头,末尾进队叫队尾)。
//=====ADT Queue的表示与实现=====
//-----单链队列——队列的链式存储结构-----
typedef struct QNode{
}QNode, *QueuePtr;
typedef struct{
}LinkQueue;
//-----基本操作的函数原型说明(几个易错常考的)-----
Status GetHead(LinkQueue Q, QElemType &e)
Status EnQueue(LinkQueue &Q, QElemType e)
Status DeQueue(LinkQueue &Q, QElemType &e)
单片机FIFO循环队 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)