Documentation ¶
Index ¶
- func MergeSort[T order.Ordered[T]](s []T)
- func Sort[T order.Ordered[T]](s []T)
- type OrderedSlice
- func (os *OrderedSlice[T]) Add(elts ...T)
- func (os *OrderedSlice[T]) AsSlice() []T
- func (os *OrderedSlice[T]) BinarySearch(elt T) (i int, ok bool)
- func (os *OrderedSlice[T]) Cap() int
- func (os *OrderedSlice[T]) Get(elt T) *T
- func (os *OrderedSlice[T]) GetAt(index int) *T
- func (os *OrderedSlice[T]) Len() int
- func (os *OrderedSlice[T]) LinearSearch(elt T) (i int, ok bool)
- func (a OrderedSlice[T]) Merge(b OrderedSlice[T]) OrderedSlice[T]
- func (os *OrderedSlice[T]) Pop() T
- func (os *OrderedSlice[T]) ReOrder()
- func (os *OrderedSlice[T]) Remove(elt T) bool
- func (os *OrderedSlice[T]) RemoveAt(i int)
- func (os *OrderedSlice[T]) Search(elt T) (i int, ok bool)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type OrderedSlice ¶
func FromSlice ¶
func FromSlice[T order.Ordered[T]](sl []T) OrderedSlice[T]
func (*OrderedSlice[T]) Add ¶
func (os *OrderedSlice[T]) Add(elts ...T)
func (*OrderedSlice[T]) AsSlice ¶
func (os *OrderedSlice[T]) AsSlice() []T
Return the underlying slice. Can be used to break the ordered invariant, and as such should be used carefully
func (*OrderedSlice[T]) BinarySearch ¶
func (os *OrderedSlice[T]) BinarySearch(elt T) (i int, ok bool)
func (*OrderedSlice[T]) Cap ¶
func (os *OrderedSlice[T]) Cap() int
func (*OrderedSlice[T]) Get ¶
func (os *OrderedSlice[T]) Get(elt T) *T
func (*OrderedSlice[T]) GetAt ¶
func (os *OrderedSlice[T]) GetAt(index int) *T
func (*OrderedSlice[T]) Len ¶
func (os *OrderedSlice[T]) Len() int
func (*OrderedSlice[T]) LinearSearch ¶
func (os *OrderedSlice[T]) LinearSearch(elt T) (i int, ok bool)
func (OrderedSlice[T]) Merge ¶
func (a OrderedSlice[T]) Merge(b OrderedSlice[T]) OrderedSlice[T]
func (*OrderedSlice[T]) Pop ¶
func (os *OrderedSlice[T]) Pop() T
Remove and return the first element of the slice
func (*OrderedSlice[T]) ReOrder ¶
func (os *OrderedSlice[T]) ReOrder()
Can be used to make sure the orderedSlice is still ordered if some of it's element have been modified.
func (*OrderedSlice[T]) Remove ¶
func (os *OrderedSlice[T]) Remove(elt T) bool
Returns true if the element was able to be removed, false otherwise
func (*OrderedSlice[T]) RemoveAt ¶
func (os *OrderedSlice[T]) RemoveAt(i int)
func (*OrderedSlice[T]) Search ¶
func (os *OrderedSlice[T]) Search(elt T) (i int, ok bool)
Click to show internal directories.
Click to hide internal directories.