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

📄 循环队列的基本操作.txt

📁 这是有关数据结构的例程序
💻 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 + -