doublylinkedlist

package
v0.0.0-...-0b912f7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 24, 2016 License: BSD-2-Clause Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Iterator

type Iterator struct {
	// contains filtered or unexported fields
}

func (*Iterator) Index

func (iterator *Iterator) Index() int

Returns the current element's index. Does not modify the state of the iterator.

func (*Iterator) Next

func (iterator *Iterator) Next() bool

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(). Modifies the state of the iterator.

func (*Iterator) Value

func (iterator *Iterator) Value() interface{}

Returns the current element's value. Does not modify the state of the iterator.

type List

type List struct {
	// contains filtered or unexported fields
}

func New

func New() *List

Instantiates a new empty list

func (*List) Add

func (list *List) Add(values ...interface{})

Appends a value (one or more) at the end of the list (same as Append())

func (*List) All

func (list *List) All(f func(index int, value interface{}) bool) bool

Passes each element of the container to the given function and returns true if the function returns true for all elements.

func (*List) Any

func (list *List) Any(f func(index int, value interface{}) bool) bool

Passes each element of the container to the given function and returns true if the function ever returns true for any element.

func (*List) Append

func (list *List) Append(values ...interface{})

Appends a value (one or more) at the end of the list (same as Add())

func (*List) Clear

func (list *List) Clear()

Removes all elements from the list.

func (*List) Contains

func (list *List) Contains(values ...interface{}) bool

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.

func (*List) Each

func (list *List) Each(f func(index int, value interface{}))

Calls the given function once for each element, passing that element's index and value.

func (*List) Empty

func (list *List) Empty() bool

Returns true if list does not contain any elements.

func (*List) Find

func (list *List) Find(f func(index int, value interface{}) bool) (index int, value interface{})

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.

func (*List) Get

func (list *List) Get(index int) (interface{}, bool)

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.

func (*List) Insert

func (list *List) Insert(index int, values ...interface{})

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.

func (*List) Iterator

func (list *List) Iterator() Iterator

Returns a stateful iterator whose values can be fetched by an index.

func (*List) Map

func (list *List) Map(f func(index int, value interface{}) interface{}) *List

Invokes the given function once for each element and returns a container containing the values returned by the given function.

func (*List) Prepend

func (list *List) Prepend(values ...interface{})

Prepends a values (or more)

func (*List) Remove

func (list *List) Remove(index int)

Removes one or more elements from the list with the supplied indices.

func (*List) Select

func (list *List) Select(f func(index int, value interface{}) bool) *List

Returns a new container containing all elements for which the given function returns a true value.

func (*List) Size

func (list *List) Size() int

Returns number of elements within the list.

func (*List) Sort

func (list *List) Sort(comparator utils.Comparator)

Sorts values (in-place) using timsort.

func (*List) String

func (list *List) String() string

func (*List) Swap

func (list *List) Swap(i, j int)

Swaps values of two elements at the given indices.

func (*List) Values

func (list *List) Values() []interface{}

Returns all elements in the list.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL