doublylinkedlist
6 分钟阅读
原文:https://pkg.go.dev/github.com/emirpasic/gods/v2@v2.0.0-alpha/lists/doublylinkedlist
收录该文档时间:
2024-12-07T11:02:08+08:00
Overview
Package doublylinkedlist implements the doubly-linked list.
doublylinkedlist
包实现了双向链表。
Structure is not thread safe.
此结构非线程安全。
Reference: https://en.wikipedia.org/wiki/List_%28abstract_data_type%29
常量
This section is empty.
变量
This section is empty.
函数
This section is empty.
类型
type Iterator
|
|
Iterator holding the iterator’s state
Iterator
保存迭代器的状态。
(*Iterator[T]) Begin
|
|
Begin resets the iterator to its initial state (one-before-first) Call Next() to fetch the first element if any.
Begin
将迭代器重置为初始状态(位于第一个元素之前)。调用 Next()
获取第一个元素(如果存在)。
(*Iterator[T]) End
|
|
End moves the iterator past the last element (one-past-the-end). Call Prev() to fetch the last element if any.
End
将迭代器移动到最后一个元素之后的位置(超出末尾一个位置)。调用 Prev()
获取最后一个元素(如果存在)。
(*Iterator[T]) First
|
|
First moves the iterator to the first element and returns true if there was a first element in the container. If First() returns true, then first element’s index and value can be retrieved by Index() and Value(). Modifies the state of the iterator.
First
将迭代器移动到第一个元素,并返回 true(如果容器中存在第一个元素)。如果 First()
返回 true,则可以通过 Index()
和 Value()
获取第一个元素的索引和值。修改了迭代器的状态。
(*Iterator[T]) Index
|
|
Index returns the current element’s index. Does not modify the state of the iterator.
Index
返回当前元素的索引,不会修改迭代器的状态。
(*Iterator[T]) Last
|
|
Last moves the iterator to the last element and returns true if there was a last element in the container. If Last() returns true, then last element’s index and value can be retrieved by Index() and Value(). Modifies the state of the iterator.
Last
将迭代器移动到最后一个元素,并返回 true(如果容器中存在最后一个元素)。如果 Last()
返回 true,则可以通过 Index()
和 Value()
获取最后一个元素的索引和值。修改了迭代器的状态。
(*Iterator[T]) Next
|
|
Next moves the iterator to the next element and returns true if there was a next element in the container. If Next() returns true, then next element’s index and value can be retrieved by Index() and Value(). If Next() was called for the first time, then it will point the iterator to the first element if it exists. Modifies the state of the iterator.
Next
将迭代器移动到下一个元素,并返回 true(如果容器中存在下一个元素)。如果 Next()
返回 true,则可以通过 Index()
和 Value()
获取下一个元素的索引和值。如果 Next()
是第一次调用,则迭代器将指向第一个元素(如果存在)。修改了迭代器的状态。
(*Iterator[T]) NextTo
|
|
NextTo moves the iterator to the next element from current position that satisfies the condition given by the passed function, and returns true if there was a next element in the container. If NextTo() returns true, then next element’s index and value can be retrieved by Index() and Value(). Modifies the state of the iterator.
NextTo
将迭代器移动到当前位置之后满足传入函数条件的下一个元素,并返回 true(如果容器中存在这样的元素)。如果 NextTo()
返回 true,则可以通过 Index()
和 Value()
获取该元素的索引和值。修改了迭代器的状态。
(*Iterator[T]) Prev
|
|
Prev moves the iterator to the previous element and returns true if there was a previous element in the container. If Prev() returns true, then previous element’s index and value can be retrieved by Index() and Value(). Modifies the state of the iterator.
Prev
将迭代器移动到前一个元素,并返回 true(如果容器中存在前一个元素)。如果 Prev()
返回 true,则可以通过 Index()
和 Value()
获取该元素的索引和值。修改了迭代器的状态。
(*Iterator[T]) PrevTo
|
|
PrevTo moves the iterator to the previous element from current position that satisfies the condition given by the passed function, and returns true if there was a next element in the container. If PrevTo() returns true, then next element’s index and value can be retrieved by Index() and Value(). Modifies the state of the iterator.
PrevTo
将迭代器移动到当前位置之前满足传入函数条件的前一个元素,并返回 true(如果容器中存在这样的元素)。如果 PrevTo()
返回 true,则可以通过 Index()
和 Value()
获取该元素的索引和值。修改了迭代器的状态。
(*Iterator[T]) Value
|
|
Value returns the current element’s value. Does not modify the state of the iterator.
Value
返回当前元素的值,不会修改迭代器的状态。
type List
|
|
List holds the elements, where each element points to the next and previous element
List
保存元素,每个元素指向前一个和后一个元素。
func New
|
|
New instantiates a new list and adds the passed values, if any, to the list
New
实例化一个新列表,并添加传入的值(如果有)。
(*List[T]) Add
|
|
Add appends a value (one or more) at the end of the list (same as Append())
Add
在列表末尾追加一个或多个值(等同于 Append()
)。
(*List[T]) All
|
|
All passes each element of the container to the given function and returns true if the function returns true for all elements.
All
将容器的每个元素传递给指定函数,如果函数对所有元素都返回 true,则返回 true。
(*List[T]) Any
|
|
Any passes each element of the container to the given function and returns true if the function ever returns true for any element.
Any
将容器的每个元素传递给指定函数,如果函数对任意元素返回 true,则返回 true。
(*List[T]) Append
|
|
Append appends a value (one or more) at the end of the list (same as Add())
Append
在列表末尾追加一个或多个值(等同于 Add()
)。
(*List[T]) Clear
|
|
Clear removes all elements from the list.
Clear
移除列表中的所有元素。
(*List[T]) Contains
|
|
Contains check if values (one or more) are present in the set. All values have to be present in the set for the method to return true. Performance time complexity of n^2. Returns true if no arguments are passed at all, i.e. set is always super-set of empty set.
Contains
检查一个或多个值是否存在于集合中。所有值都必须存在于集合中时才返回 true。时间复杂度为 n^2。如果没有传入任何参数,则返回 true,因为集合始终是空集合的超集。
(*List[T]) Each
|
|
Each calls the given function once for each element, passing that element’s index and value.
Each
调用传入函数一次,传递每个元素的索引和值。
(*List[T]) Empty
|
|
Empty returns true if list does not contain any elements.
Empty
如果列表中没有元素,则返回 true。
(*List[T]) Find
|
|
Find passes each element of the container to the given function and returns the first (index,value) for which the function is true or -1,nil otherwise if no element matches the criteria.
Find
将每个元素传递给指定函数,返回第一个匹配条件的元素的索引和值;如果没有匹配的元素,则返回 -1 和 nil。
(*List[T]) FromJSON
|
|
FromJSON populates list’s elements from the input JSON representation.
FromJSON
使用输入 JSON 表示填充列表的元素。
(*List[T]) Get
|
|
Get returns the element at index. Second return parameter is true if index is within bounds of the array and array is not empty, otherwise false.
Get
返回指定索引处的元素。如果索引在数组范围内且数组非空,则返回第二个参数为 true,否则返回 false。
(*List[T]) IndexOf
|
|
IndexOf returns index of provided element
IndexOf
返回指定元素的索引。
(*List[T]) Insert
|
|
Insert inserts values at specified index position shifting the value at that position (if any) and any subsequent elements to the right. Does not do anything if position is negative or bigger than list’s size Note: position equal to list’s size is valid, i.e. append.
Insert
在指定的索引位置插入值,并将该位置的值(如果有)及后续元素右移。如果索引为负或超出列表大小,则不执行任何操作。注意:索引等于列表大小是有效的,即追加。
(*List[T]) Iterator
|
|
Iterator returns a stateful iterator whose values can be fetched by an index.
Iterator
返回一个状态化的迭代器,其值可以通过索引获取。
(*List[T]) Map
|
|
Map invokes the given function once for each element and returns a container containing the values returned by the given function.
Map
调用传入函数一次,对每个元素执行操作,并返回一个包含函数返回值的容器。
(*List[T]) MarshalJSON
|
|
MarshalJSON @implements json.Marshaler
MarshalJSON
实现了 json.Marshaler
接口。
(*List[T]) Prepend
|
|
Prepend prepends a values (or more)
Prepend
在列表开头追加一个或多个值。
(*List[T]) Remove
|
|
Remove removes the element at the given index from the list.
Remove
移除指定索引处的元素。
(*List[T]) Select
|
|
Select returns a new container containing all elements for which the given function returns a true value.
Select
返回一个新容器,包含传入函数返回值为 true 的所有元素。
(*List[T]) Set
|
|
Set value at specified index position Does not do anything if position is negative or bigger than list’s size Note: position equal to list’s size is valid, i.e. append.
Set
在指定索引处设置值。如果索引为负或超出列表大小,则不执行任何操作。注意:索引等于列表大小是有效的,即追加。
(*List[T]) Size
|
|
Size returns number of elements within the list.
Size
返回列表中的元素数量。
(*List[T]) Sort
|
|
Sort sorts values (in-place) using.
Sort
使用指定的比较器对值进行排序(原地)。
(*List[T]) String
|
|
String returns a string representation of container
String
返回容器的字符串表示。
(*List[T]) Swap
|
|
Swap swaps values of two elements at the given indices.
Swap
交换指定位置的两个值。
(*List[T]) ToJSON
|
|
ToJSON outputs the JSON representation of list’s elements.
ToJSON
输出列表元素的 JSON 表示。
(*List[T]) UnmarshalJSON
|
|
UnmarshalJSON @implements json.Unmarshaler
UnmarshalJSON
实现了 json.Unmarshaler
接口。
(*List[T]) Values
|
|
Values returns all elements in the list.
Values
返回列表中的所有元素。