C语言队列写连连看心得

本文分享了使用C语言实现连连看游戏时的心得体会,重点在于理解堆栈和队列的数据结构。堆栈遵循先进后出的原则,只需操作头指针;队列则需维护头尾指针,用于元素的入队和出队。在编程实践中,强调算法设计的重要性,同时要注意代码逻辑中避免无效操作、防止越界和空指针异常。
摘要由CSDN通过智能技术生成

堆栈

类似于链表 先进后出  所以只需要操作头指针

队列

同样类似于链表 从尾指针加入 从头指针出 所以需要两个

void InitQueue()//初始化队列
{
	pqueue = (Queue*)malloc(sizeof(Queue));
	if(pqueue != NULL)
	{
		pqueue->front=NULL;
		pqueue->rear=NULL;
		pqueue->size=0;
	}
	return;
}

PNode EnQueue(PNode pnode)//队列加入元素
{
	if(pnode != NULL)
	{
		pnode->next = NULL;
		if(IsEmpty())
		{
			pqueue->front = pnode;
		}
		else
		{
			pqueue->rear->next = pnode;
		}
		pqueue->rear=pnode;
		pqueue->size++;
	}
	return pnode;
}

PNode DeQueue()//删除元素
{
	PNode pnode= pqueue->front;
	if(!IsEmpty())
	{
		pqueue->size--;
		pqueue->front = pnode->next;
		free(pnode);
		if(pqueue->size == 0)
			pqueue->rear = NULL;
	}
	return pqueue->front;
}

int IsEmpty()//判断是否为空
{
	if(pqueue->rear == NULL && pqueue->size ==0)
	{
		return 1;
	}
	else 
		return 0;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值