Vectors
Utility functions for vectors.
Interface
find_upper_bound
Searches a sorted vec and returns the first index that contains a value greater or equal to element. If no such index exists (i.e. all values in the vector are strictly less than element), and the vector length is returned.
Time complexity O(log n).
public fun find_upper_bound(vec: vector<u64>, element: u64): u64@param vec: The vector to be searched.
@param element: We check if there is a value higher than it in the vector.
@return u64. The index of the member that is larger than
element. The length is returned if no member is found.
lt
Checks if a is smaller than b. E.g. x"123" < x"456".
public fun lt(a: vector<u8>, b: vector<u8>): bool@param a: The first operand.
@param b: The second operand..
@return bool. If
ais smaller thanb.
Aborts
aandbhave different lengths.
gt
Checks if a is larger than b. E.g. x"123" < x"456".
@param a: The first operand.
@param b: The second operand..
@return bool. If
ais larger thanb.
Aborts
aandbhave different lengths.
lte
Checks if a is smaller or equal to b. E.g. x"123" =< x"456".
@param a: The first operand.
@param b: The second operand..
@return bool. If
ais smaller or equal tob.
Aborts
aandbhave different lengths.
gte
Checks if a is larger or equal to b. E.g. x"123" =< x"456".
@param a: The first operand.
@param b: The second operand..
@return bool. If
ais larger or equal tob.
Aborts
aandbhave different lengths.
ascending_insertion_sort
Sorts a a in ascending order. E.g. [342] => [234].
@param a: The vector to sort.
@return vector. Sorted
a.
Aborts
aandbhave different lengths.
descending_insertion_sort
Sorts a a in descending order. E.g. [342] => [432].
@param a: The vector to sort.
@return vector. Sorted
a.
Aborts
aandbhave different lengths.
quick_sort
Sorts a values. E.g. [342] => [234].
This function mutates the original vector.
@param values: The vector to sort.
@param left: The smaller side of the pivot. Pass 0.
@param right: The larger side of the pivot. Pass
vector::length - 1.
Last updated
Was this helpful?