container包中的三个数据类型(-)

本文详细介绍了Golang容器包中的List数据结构,包括如何导入包、List的基本特性、常用方法及其使用场景。

Golang在container包中提供了三个常用的数据类型,Ring,Heap,List。这一篇文章简单谈谈List


使用import "container/list"来导入这个包,该包定义了List类型,是一个元素可以为任意类型的双链表。


List类型并未导出任何字段,其元素类型为Element。

    List表示一个双链表,其零值表示一个可用的链表
    使用list.New()函数来生成一个链表
        func New() *List
    使用Front()/Back()方法来获取链表的第一个/最后一个元素
        func(l *List)Front() *Element
        func(l *List)Back() *ELement
    使用Len()方法来获取链表中元素数量
        func(l *List)Len() int
        
    使用InsertAfter()/InsertBefore()方法来在某个元素后/前插入新元素
        func(l *List)InsertBefore(v interface{},mark *Element) *Element
        func(l *List)InsertAfter(v interface{},mark *Element) *Element
        如果mark不是链表l的元素,那么不会修改l
        
    使用PushBack()/PushBackList()将一个元素/链表,插入到当前链表末尾
        func(l *List)PushBack(v interface{}) *Element
        func(l *List)PushBackList(other *List)
    使用PushFront()/PushFrontList()将一个元素/链表,插入到当前链表开头
        func(l *List)PushFront(v interface{}) *Element
        func(l *List)PushFrontList(other *List)
        注意:两个以*List为参数的方法,other和l可以相同
    使用Init()方法来删除所有元素
        func(l *List) Init() *List
    使用Remove()方法来删除特定元素
        func(l *List) Remove(e *Element) interface{}
    使用MoveToBack()/MoveToFront(),将某个元素移动到链表末尾/开头
        func (l *List) MoveToBack(e *Element)
        func (l *List) MoveToFront(e *Element)

Element表示列表中的一个元素。定义了两个方法Next/Prev,分别返回下一个/前一个元素或者nil(不存在)
    func (e *Element) Next() *Element
    func (e *ELement) Prev() *Element

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值