seqqueue.h

来自「这是一个关于用递推法解决求某一个集合的所有的子集。非常适合初学数据结构的同胞阅读」· C头文件 代码 · 共 90 行

H
90
字号

#include"stdio.h"
#include"stdlib.h"

typedef struct 
{
	DataTypeQ queue [MaxQueueSize];
	int rear;
	int front;
	int count;
}SeqQueue;


void QueueInitiate( SeqQueue *Q )
{
	Q->rear = 0;
	Q->front = 0;
	Q->count = 0;
}


int QueueNotEmpty( SeqQueue Q )
{
	if( Q.count == 0 )
		return 0;
	else
		return 1;
}



int QueueAppend( SeqQueue *Q, DataTypeQ x )
{
	if( MaxQueueSize == Q->count )
	{
		printf("\n\nThe queue is full!\n");
		return 0;
	}
	else
	{
		Q->queue[Q->rear] = x;
		Q->rear = (Q->rear+1) % MaxQueueSize;
		Q->count ++;
		return 1;
	}
}




int QueueDelete( SeqQueue *Q, DataTypeQ *x )
{
	if( 0 == Q->count )
	{
		printf("\n\nThe queue is empty!\n");
		return 0;
	}
	else
	{
		*x = Q->queue[Q->front];
		Q->front = (Q->front + 1) % MaxQueueSize;
		Q->count --;
		return 1;
	}

}



int QueueGet( SeqQueue Q, DataTypeQ *x )
{
	if( 0 == Q.count )
	{
		printf("\n\nThe queue is empty!\n");
		return 0;
	}
	else
	{
		*x = Q.queue[Q.front];
		return 1;
	}
}







⌨️ 快捷键说明

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