⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 queue.h.svn-base

📁 我们自己开发的一个OSEK操作系统!不知道可不可以?
💻 SVN-BASE
字号:
#ifndef __QUEUE_H__
#define __QUEUE_H__

#define MAXSIZE 50  /*队列的最大长度*/
#define  QueueElementType Message

#define  TRUE 1

#define  FALSE 0


typedef struct
{
       QueueElementType element[MAXSIZE];  /* 队列的元素空间*/
       int  front; 
       int  rear ; 

}SeqQueue;



void InitQueue(SeqQueue *Q)

{  /* 将*Q初始化为一个空的循环队列 */

	Q->front=0;
	Q->rear=0;

}

 

int EnterQueue(SeqQueue *Q, QueueElementType x)

{  /*将元素x入队*/

	if((Q->rear+1)%MAXSIZE==Q->front)  /*队列已经满了*/

		 return(FALSE);

	Q->element[Q->rear]=x;

	Q->rear=(Q->rear+1)%MAXSIZE;  /* 重新设置队尾指针 */

	return(TRUE);  /*操作成功*/

}


int DeleteQueue(SeqQueue *Q, QueueElementType * x)

{ /*删除队列的队头元素,用x返回其值*/

     if(Q->front==Q->rear)  /*队列为空*/

		return(FALSE);

	*x=Q->element[Q->front];

	Q->front=(Q->front+1)%MAXSIZE;  /*重新设置队头指针*/

	return(TRUE);  /*操作成功*/

}

 

void GetHead(SeqQueue *Q, QueueElementType *x)
{ 
	*x=Q->element[Q->front];
}



int EmptyQueue(SeqQueue *Q)
{
	
	if(Q->front==Q->rear)  /*队列为空*/

		return(TRUE);

	return(FALSE);
}


#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -