队列--初学者理解

学习队列需要熟练掌握指针

 

1。队列的组成结构:

有两部分:表示队列 的结构体(一条队列只有一个)、表示结点的结构体(表示队列的成员,可以有多个)。


一条队列由一个结构体表示,这个结构体里有两个成员,都是指针:一个指向队列的头结点,一个指向队列的尾结点。这两个指针都是指向结点的,下面讲到的那种结点。

队列由很多结点组成,就像排队中的每个人,结点由另外一种结构体表示,里面也有两个东西:一个用来存储数据,叫数据域,一个是指针用来指向下一个结构体,叫指针域。事实这些结点就是一条单向链表。


队头就是单向链表头,队尾就是单向链表尾。队列的功能就是为了让单向链表在链表头添加成员,在链表尾删除成员。


2。队列的初始化:


先建立表示队列的结构体,让头尾两个指针都指向同一个结点。然后让尾结点的next指针指向NULL,尾结点始终都是指向NULL的,即使后面添加了队列成员。


3。入队步骤:


让尾结点的next指针指向新结点;

让新结点变成尾结点;

使尾结点的next指针指向NULL。


4。出队步骤:


新建一个结点指针s;

把队头赋给s;

使队头指向下一个结点;

用free删除s所指向的结点空间。


注: 使用malloc申请内存空间时,需要用free显式释放内存,否则该内存在程序退出后依然不可用,所谓内存泄露。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值