链表
来源:互联网 发布:宋哲宗赵煦 知乎 编辑:程序博客网 时间:2024/06/05 07:25
链表是一种重要的数据结构,链表分为多种,有单向链表、双向链表、循环链表。这里主要讲一下单向链表和双向链表。
首先链表由n个节点构成,分为链状(单、双向链表)和环状(环状链表)。其次,每个节点由数据域、引用域构成;数据域存放的是各种数据类型的数据,引用域存放的是与该节点相关联的节点的地址,例如单向链表中的引用域存放的是该节点下一节点的地址,而双向链表中的引用域还包括该节点前一结点的地址。
链表中有几个名词:
头结点:链表中的第一个节点,若链表为空,则头结点为空。
尾节点:链表中的最后一节点,同样若链表为空,则尾节点为空。
直接后继:该节点的下一节点。
直接前区:该节点的前一结点。
下面看看链表的构造过程:
构造链表前要先定义一个节点类,该类包含两个私有的数据成员,及上面说的数据域与引用域,并给出相应的构造方法及get和set方法,以方便在构造链表是使用。在这里要注意的就是要给出两个构造方法,一个有参,一个无参。
接下来就是构造链表。构造链表有两种方法,头插法和尾插法,在这里讲讲头插法。头插法就是往已有链表的头结点的前面插入节点。在代码实现的过程中,要先取出头结点root的直接后继节点,并将新插入的节点设为root的直接后继节点,将原root的直接后继点设为新插入节点的直接后继节点。
在链表构造完成之后,就可以定义一些在链表上操作的方法:删除一个给定序号的节点,获取给定序号节点的数据域。在这两个方法中都要注意的是要检验给定序号的合法性。还要注意的是在删除节点时,要做到删除完整,即要将删除节点的引用域清零。另外还可定义一些其他方法。
0 0
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- java变成最差实践
- 动态添加DataGridView Row Color
- MySQL查询数据
- 1004 Let the Balloon Rise
- GridView 组件的基本实现(本人也是个新手,哪里写的不对或者多余还请大家多多见谅)
- 链表
- 《React-Native系列》11、 图解RN布局之FlexBox,三分钟上手写RN界面
- ROS 学习 (1):publisher和subscriber消息 python
- iOS 修正拍出来的照片的方向
- Android studio的默认图标
- JDK里的设计模式
- ubuntu下git的使用
- Python练习100例-30
- JavaScript Function()