queue.h

来自「该程序实现了 无向图的建立和广度优先搜索及输出」· C头文件 代码 · 共 59 行

H
59
字号
//循环队列

#define MAX_VERTEX_NUM 20

typedef int elemtype;

typedef struct
{
	elemtype *base;

	int front;
	int rear;

	int queuesize;
}Queue;

int InitQueue(Queue &Q)
{
	Q.base=(elemtype *)malloc((MAX_VERTEX_NUM+1)*sizeof(elemtype));

	if (Q.base)
	{
		Q.front=Q.rear=0;

		Q.queuesize=MAX_VERTEX_NUM+1;

		return 1;
	}
	else
		return 0;
}

int DeQueue(Queue &Q,elemtype &e)
{
	if(Q.front!=Q.rear)
	{
		e=Q.base[Q.front];

		Q.front=(Q.front+1)%Q.queuesize;
	
		return 1;
	}
	else
		return 0;
}

int EnQueue(Queue &Q,elemtype e)
{
	if((Q.rear+1)%Q.queuesize!=Q.front)
	{
		Q.base[Q.rear]=e;

		Q.rear=(Q.rear+1)%Q.queuesize;	

		return 1;
	}
	else
		return 0;
}

⌨️ 快捷键说明

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