数据结构-单链表模拟实现循环队列(c语言实现)

本文介绍了如何使用C语言通过单链表模拟实现循环队列,包括创建节点、判空、判满、入队、出队、获取队首和队尾数据、计算队列长度、打印队列、置空队列等操作。测试结果显示该实现有效,下一期将探讨双向链表的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.类型声明

typedef struct CQueue {
	struct SLnode* front;
	struct SLnode* tail;
}CQueue;

typedef struct SLnode {
	int date;
	struct SLnode*next;
} SLnode;

2.创造节点

SLnode* BuySLnode() {
	SLnode*node = (SLnode*)malloc(sizeof(SLnode));
    if(node==NULL)
       {
          printf("Failed to open up capacity");
       }
	node->date = 0;
	node->next = NULL;
	return node;
}

3.类型声明


CQueue* CQueueInit(int k) 
{
	CQueue*pq= (CQueue*)malloc(sizeof(CQueue));
	if (pq == NULL)
	{
		printf("Failed to open up capacity");
	}
	SLnode*plist = BuySLnode();
	SLnode*p = plist;
	for (int i = 0; i < k; i++)
	{
		p->next = BuySLnode();
		p = p->next;
	}
	p->next = plist;
	p = NULL;//不用指针p了置空
	pq->front = pq->tail = plist;
	return pq;
}
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值