内容简介:list包实现了双向链表的功能。type Element功能说明:链表中的一个节点
list包实现了双向链表的功能。
type Element
func (e *Element) Next() *Element
func (e *Element) Prev() *Element
type List
func New() *List
func (l *List) Back() *Element
func (l *List) Front() *Element
func (l *List) Init() *List
func (l *List) InsertAfter(value interface{}, mark *Element) *Element
func (l *List) InsertBefore(value interface{}, mark *Element) *Element
func (l *List) Len() int
func (l *List) MoveToBack(e *Element)
func (l *List) MoveToFront(e *Element)(ol *List)
func (l *List) PushBack(value interface{}) *Element
func (l *List) PushBackList(ol *List)
func (l *List) PushFront(value interface{}) *Element
func (l *List) PushFrontList(ol *List)
func (l *List) Remove(e *Element) interface{}
type Element
type Element struct {
next, prev *Element
list *List
value interface{}
}
功能说明:链表中的一个节点
结构体字段:
1)next *Element:指向链表中的下一个节点的指针,最后一个节点的下一个节点为nil
2)next *Element:指向链表中的上一个节点的指针,第一个节点的上一个节点为nil
3)list *List:指向当前这个节点所属的链表的指针
4)value interface{}:该节点的内容,可以是任何对象
type List
type List struct {
front, back *Element
len int
}
结构体字段:
1)front *Element:链表中的第一个节点的指针
2)back *Element:链表中的最后一个节点的指针
3)len int:链表中节点的个数
List结构体的方法
(1)func New() *List
返回值:
*List:空链表的指针
功能说明:
创建一个空链表,链表的长度为0,开头和末尾节点都是nil
(2)func (l *List) Back() *Element
返回值:
*Element:链表中最后一个节点的指针,如果链表长度为0,则为nil
功能说明:获得最后一个节点的指针,如果链表的长度为0,则为nil
(3)func (l *List) Front() *Element
返回值:
*Element:链表中第一个节点的指针,如果链表长度为0,则为nil
功能说明:获得第一个节点的指针,如果链表长度为0,则为nil
(4)func (l *List) Init() *List
返回值:
*List:初始化或清空后的链表
功能说明:
初始化或者清空链表,该方法调用后,链表的长度为0
(5)func (l *List) InsertAfter(value interface{}, mark *Element) *Element
参数列表:
1)value:要插入的数据的内容
2)mark:链表中的一个节点指针
返回值:
*Element:被插入的节点指针,该节点的Value为数据内容
功能说明:
把数据value插入到mark节点的后面,并返回被插入的节点。
(6)func (l *List) InsertBefore(value interface{}, mark *Element) *Element
参数列表:
1)value:要插入的数据的内容
2)mark:链表中的一个节点指针
返回值:
*Element:被插入的节点指针,该节点的value为数据内容
功能说明:
把数据value插入到mark节点的前面,并返回这个被插入的节点。
(7)func (l *List) Len() int
返回值:
int:链表中节点的个数
(8)func (l *List) MoveToBack(e *Element)
参数列表:
e:链表中的节点
功能说明:
把节点e移到链表的末尾
(9)func (l *List) PushBaackList(ol *List)
参数列表:
ol:将被插入到链表l末尾的链表
功能说明:
把一个链表存到链表末尾
(10)func (l *List) PushFront(value interface{}) *Element
参数列表:
value:将被存到链表开头的任意对象
返回值:
*Element:将存到开头的节点的指针
功能说明:
把一个对象存到链表开头,并返回这个节点
(11)func (l *List) PushFrontList(ol *List)
参数列表:
ol:将被插入到链表l开头的链表
功能说明:
把一个链表存到链表开头
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Java遗传算法编程
Lee Jacobson、Burak Kanber / 王海鹏 / 人民邮电出版社 / 2016-12-6 / 49元
本书简单、直接地介绍了遗传算法,并且针对所讨论的示例问题,给出了Java代码的算法实现。全书共分灾6章。第1章简单介绍了人工智能和生物进化的知识背景,这也是遗传算法的历史知识背景。第2章给出了一个基本遗传算法的实现;第4章和第5章,分别针对机器人控制器、旅行商问题、排课问题展开分析和讨论,并给出了算法实现。在这些章的末尾,还给出了一些练习供读者深入学习和实践。第6章专门讨论了各种算法的优化问题。 ......一起来看看 《Java遗传算法编程》 这本书的介绍吧!