队列--初学者理解
来源:互联网 发布:网络机房施工报价 编辑:程序博客网 时间:2024/05/16 10:45
学习队列需要熟练掌握指针
1。队列的组成结构:
有两部分:表示队列 的结构体(一条队列只有一个)、表示结点的结构体(表示队列的成员,可以有多个)。
一条队列由一个结构体表示,这个结构体里有两个成员,都是指针:一个指向队列的头结点,一个指向队列的尾结点。这两个指针都是指向结点的,下面讲到的那种结点。
队列由很多结点组成,就像排队中的每个人,结点由另外一种结构体表示,里面也有两个东西:一个用来存储数据,叫数据域,一个是指针用来指向下一个结构体,叫指针域。事实这些结点就是一条单向链表。
队头就是单向链表头,队尾就是单向链表尾。队列的功能就是为了让单向链表在链表头添加成员,在链表尾删除成员。
2。队列的初始化:
先建立表示队列的结构体,让头尾两个指针都指向同一个结点。然后让尾结点的next指针指向NULL,尾结点始终都是指向NULL的,即使后面添加了队列成员。
3。入队步骤:
让尾结点的next指针指向新结点;
让新结点变成尾结点;
使尾结点的next指针指向NULL。
4。出队步骤:
新建一个结点指针s;
把队头赋给s;
使队头指向下一个结点;
用free删除s所指向的结点空间。
注:使用malloc申请内存空间时,需要用free显式释放内存,否则该内存在程序退出后依然不可用,所谓内存泄露。
- 队列--初学者理解
- 让初学者理解Struts
- 初学者理解linux文件系统
- c++初学者,深入理解内存
- COM初学者看看,有助于理解
- 初学者快速理解UINavigationController结构
- 01背包,初学者的理解
- 初学者对formatter的理解
- 初学者如何理解多态
- 初学者理解throw和throws
- 初学者理解listView 绑定BaseAdapter
- 【Android 初学者】简单理解:多线程
- 深入理解TAILQ队列
- 工作队列的理解
- 深入理解TAILQ队列
- 深入理解TAILQ队列
- 深入理解TAILQ队列
- 队列 的理解
- 地图随意搜---新闻地图
- const char *p,,char const *p,,cahr * const p 三者之间的区别
- const char *p,,char const *p,,cahr * const p 三者之间的区别
- after amazon
- Linux多线程基础入门
- 队列--初学者理解
- ibatis和hibernate的比较
- linux之 故障排除
- 绝大部分BUG都可以在以下网站找到
- (转)深入分析request_irq的dev_id参数作用
- 创建.txt文件,指定具体的编码
- 给定URL,如何找到它对应地缓存文件?
- 操作系统作业:关于LINUX里的 pthread 源程序
- 怎么在首页调用dede子栏目