栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

静态队列实现

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

静态队列实现

	                  

#include 
#include 

typedef struct Queue 
{
	int* pBase;
	int iFront;
	int iRear;
}QUEUE;

void InitQueue(QUEUE *pQPara);        
bool EnQueue(QUEUE *pQPara, int val); 
void Traverse(QUEUE *pQPara);         
bool FullQueue(QUEUE *pQPara);        
bool DeQueue(QUEUE* pQPara,int* pDeQueueVal);  
bool EmptyQueue(QUEUE* pQueue);       

int main(void)
{
	QUEUE Q; 
	int iTampVal; 

	InitQueue(&Q);

	EnQueue(&Q,1);
	EnQueue(&Q,2);
	EnQueue(&Q,3);
	EnQueue(&Q,4);
	EnQueue(&Q,5);

	Traverse(&Q);

	if (DeQueue(&Q, &iTampVal))
	{
		printf("出队成功,出队元素为:%dn", iTampVal);
	}
	else
	{
		printf("出队失败n");
	}
	Traverse(&Q);


	if (DeQueue(&Q, &iTampVal))
	{
		printf("出队成功,出队元素为:%dn", iTampVal);
	}
	else
	{
		printf("出队失败n");
	}
	Traverse(&Q);


    return 0;
}

void InitQueue(QUEUE *pQPara) 
{
	pQPara->pBase = (int* )malloc(sizeof(int)*6); 
	pQPara->iFront = 0; 
	pQPara->iRear = 0;  

	return;
}

bool FullQueue(QUEUE* pQPara) 
{
	if ((pQPara->iRear + 1)%6 == pQPara->iFront) 
	{
		return true;
	}
	else
	{
		return false;
	}
}

bool EnQueue(QUEUE *pQPara, int val) 
{
	if (FullQueue(pQPara))  
	{
		return false; 
	}
	else
	{
		pQPara->pBase[pQPara->iRear] = val;    
		pQPara->iRear = (pQPara->iRear + 1)%6; 
		return true; 
	}
}

bool EmptyQueue(QUEUE* pQueue) 
{
	if (pQueue->iFront == pQueue->iRear)  
	{
		return true;
	}
	else
	{
		return false;
	}
}

bool DeQueue(QUEUE* pQPara, int* iDeQueueVal) 
{
	if (EmptyQueue(pQPara)) 
	{
		return false;
	}
	else
	{
		*iDeQueueVal = pQPara->pBase[pQPara->iFront]; 
		pQPara->iFront = (pQPara->iFront + 1) % 6;    
		return true;
	}
}

void Traverse(QUEUE* pQPara) 
{
	int iTampVal = pQPara->iFront; 

	while (iTampVal != pQPara->iRear) 
	{
		printf("%d ", pQPara->pBase[iTampVal]);
		iTampVal = (iTampVal + 1) % 6; 
	}

	printf("n");
}


理解: 循环队列的原因





循环队列入队伪算法

循环队列出队伪算法

如何判断队列已满


原创:参考 郝斌老师系列课程
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/917108.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号