📄 循环队列的基本操作.txt
字号:
definition.h
======================================
#define MAXSIZE 100 //最大队列长度
typedef char ElemType;
typedef struct{
ElemType *base;
unsigned front, rear;//队头指针,队尾指针
}SqQueue;
int InitQueue(SqQueue *);//建立空队列
int EnQueue(SqQueue *, ElemType);//进入队列
int DeQueue(SqQueue *);//出队
int Length(SqQueue *);//队列长度
=========================================================
main.c
============================================
#include<stdio.h>
#include"definition.h"
int main()
{ return 0;
} =============================================
function.c
====================================
#include <stdio.h>
#include <malloc.h>
#include "definition.h"
int InitQueue(SqQueue *Q)//建立空队列
{ Q->base=(ElemType *)malloc( MAXSIZE*sizeof(ElemType) );
if(!Q->base)
return 1;
Q->front=Q->rear=0;
return 0;
}
int EnQueue(SqQueue *Q, ElemType e)//进入队列
{ if( (Q->rear+1)%MAXSIZE==Q->front )
return 1;//队满(此判断队满法的代价是,少利用一个空间)
Q->base[Q->rear]=e;
Q->rear=++Q->rear % MAXSIZE;
return 0;
}
int DeQueue(SqQueue *Q)//出队
{ if(Q->front==Q->rear)
return 1;//队空
Q->front= ++Q->front % MAXSIZE;
return 0;
}
int Length(SqQueue *Q)//队列长度
{ return (Q->rear - Q->front + MAXSIZE) % MAXSIZE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -