一、List定义
概述
1、list是一种非连续存储的容器,由多个节点组成,节点通过一些变量记录彼此之间的关系。list有多种实现方法,如单向链表、双向链表等。
2、Go语言中list的实现原理是双向链表。list能高效地进行任意位置的元素插入和删除操作
go中的list
- Golan的标准库提供了高级的数据结构List。具体在包 container/ist。
- container/ist包里主要有两个数据结构类型:“ Element”、“List”;
- Element类型代表双向链表中的一个元素,相当于C++里面的" iterator";
- List代表一个双向链表。List零值为一个空的、可用的链表。
- Element有Prev和Next方法用于得到前一个或者下一个 Element,Element可以直接调用 Value属性;
二、list的使用
1、 通过container/list包的New方法声明list
- •变量名:=list.New()
2、通过var声明list
- • var 变量名 list.List
- • list与切片和map不同,没有具体元素类型的限制。list中的元素可以是任意类型。
- •在CPP里面,list的成员必须是同一个数据类型,但是Go语言中却允许list中插入任意类型的成员。
- •建议使用New()实现声明list