数据结构---队列

1.概念

  队列是一种常见的数据结构,它按照先进先出(First In, First Out,FIFO)的原则管理数据。这意味着最先进入队列的元素将会被最先取出,类似于排队等待服务的情景。

  在队列中,数据项按照顺序排列,每个数据项都有一个位置,称为队列的尾部(rear),新的数据项被添加到队列的尾部。同时,数据项也可以从队列的头部(front)被移除,也就是说,队列的操作通常包括两个主要动作:入队(enqueue)和出队(dequeue)。

  入队操作将新的元素添加到队列的尾部,而出队操作则从队列的头部移除一个元素。这种操作保证了最先进入队列的元素被最先处理,符合FIFO的原则

2.代码

2.1初始化

2.2入队

2.3出队

 2.4输出

2.5测试

2.6结果

3代码解释

  1. typedef struct LinkNode: 这个结构定义了队列节点的数据结构,其中包括一个整型的数据域 data 和一个指向下一个节点的指针 next

  2. typedef struct LinkQueue: 这个结构定义了队列的数据结构,包括一个指向队列头部的指针 front 和一个指向队列尾部的指针 rear

  3. initqueue(): 这个函数用于初始化一个空的队列。它分配了内存空间用于存储队列结构,并创建了一个头节点作为队列的起始位置,同时将 frontrear 指针指向头节点。

  4. output(): 这个函数用于输出队列中的元素。它从队列的头部开始遍历链表,并依次输出每个节点的数据域。

  5. enqueue(): 这个函数用于将一个新的元素入队。它首先创建一个新的节点,然后将新节点添加到队列尾部,并更新 rear 指针指向新的尾节点。

  6. dequeue(): 这个函数用于从队列中删除一个元素并返回其值。它首先检查队列是否为空,然后从队列头部删除一个节点,并返回其数据域的值。同时,它还需要更新 front 指针指向新的头节点。

  7. testqueue(): 这个函数是一个测试函数,用于演示队列的使用。它首先初始化一个队列,然后进行一系列的入队、出队和输出操作,以验证队列的功能是否正常

4.示意图 

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值