PINE LIBRARY

Library **"BinaryInsertionSort"**

Library containing functions which can help create sorted array based on binary insertion sort.

This sorting will be quicker than array.sort function if the sorting needs to be done on every bar and the size of the array is comparatively big.

**method binary_search_basic(sortedArray, item, order)**

binary_search_basic - finds the closest index of the value

Namespace types: array<float>

Parameters:

**sortedArray (array<float>)**: array<float> which is assumed to be sorted in the requested order

**item (float)**: float item which needs to be searched in the sorted array

**order (int)**: Sort order - positive number means ascending order whereas negative number represents descending order

Returns: int index at which the item can be inserted into sorted array

**method binary_search_basic(sortedArray, item, order)**

binary_search_basic - finds the closest index of the value

Namespace types: array<int>

Parameters:

**sortedArray (array<int>)**: array<int> which is assumed to be sorted in the requested order

**item (int)**: int item which needs to be searched in the sorted array

**order (int)**: Sort order - positive number means ascending order whereas negative number represents descending order

Returns: int index at which the item can be inserted into sorted array

**method binary_insertion_sort(sortedArray, item, order)**

binary insertion sort - inserts item into sorted array while maintaining sort order

Namespace types: array<float>

Parameters:

**sortedArray (array<float>)**: array<float> which is assumed to be sorted in the requested order

**item (float)**: float item which needs to be inserted into sorted array

**order (int)**: Sort order - positive number means ascending order whereas negative number represents descending order

Returns: int index at which the item is inserted into sorted array

**method binary_insertion_sort(sortedArray, item, order)**

binary insertion sort - inserts item into sorted array while maintaining sort order

Namespace types: array<int>

Parameters:

**sortedArray (array<int>)**: array<int> which is assumed to be sorted in the requested order

**item (int)**: int item which needs to be inserted into sorted array

**order (int)**: Sort order - positive number means ascending order whereas negative number represents descending order

Returns: int index at which the item is inserted into sorted array

**update_sort_indices(sortIndices, newItemIndex)**

adds the sort index of new item added to sorted array and also updates existing sort indices.

Parameters:

**sortIndices (array<int>)**: array<int> containing sort indices of an array.

**newItemIndex (int)**: sort index of new item added to sorted array

Returns: void

**get_array_of_series(item, order)**

Converts series into array and sorted array.

Parameters:

**item (float)**: float series

**order (int)**: Sort order - positive number means ascending order whereas negative number represents descending order

Returns: [valueArray, sortedArray, sortIndex of last item]

**get_array_of_series(item, order)**

Converts series into array and sorted array.

Parameters:

**item (int)**: int series

**order (int)**: Sort order - positive number means ascending order whereas negative number represents descending order

Returns: [valueArray, sortedArray, sortIndex of last item]

**get_sorted_arrays(item, order)**

Converts series into array and sorted array. Also calculates the sort order of the value array

Parameters:

**item (float)**: float|int series

**order (int)**: Sort order - positive number means ascending order whereas negative number represents descending order

Returns: [valueArray, sortedArray, sortIndices]

**get_sorted_arrays(item, order)**

Converts series into array and sorted array. Also calculates the sort order of the value array

Parameters:

**item (int)**: int series

**order (int)**: Sort order - positive number means ascending order whereas negative number represents descending order

Returns: [valueArray, sortedArray, sortIndices]

Library containing functions which can help create sorted array based on binary insertion sort.

This sorting will be quicker than array.sort function if the sorting needs to be done on every bar and the size of the array is comparatively big.

binary_search_basic - finds the closest index of the value

Namespace types: array<float>

Parameters:

Returns: int index at which the item can be inserted into sorted array

binary_search_basic - finds the closest index of the value

Namespace types: array<int>

Parameters:

Returns: int index at which the item can be inserted into sorted array

binary insertion sort - inserts item into sorted array while maintaining sort order

Namespace types: array<float>

Parameters:

Returns: int index at which the item is inserted into sorted array

binary insertion sort - inserts item into sorted array while maintaining sort order

Namespace types: array<int>

Parameters:

Returns: int index at which the item is inserted into sorted array

adds the sort index of new item added to sorted array and also updates existing sort indices.

Parameters:

Returns: void

Converts series into array and sorted array.

Parameters:

Returns: [valueArray, sortedArray, sortIndex of last item]

Converts series into array and sorted array.

Parameters:

Returns: [valueArray, sortedArray, sortIndex of last item]

Converts series into array and sorted array. Also calculates the sort order of the value array

Parameters:

Returns: [valueArray, sortedArray, sortIndices]

Converts series into array and sorted array. Also calculates the sort order of the value array

Parameters:

Returns: [valueArray, sortedArray, sortIndices]

In true TradingView spirit, the author has published this Pine code as an open-source library so that other Pine programmers from our community can reuse it. Cheers to the author! You may use this library privately or in other open-source publications, but reuse of this code in a publication is governed by House rules.

Trial - trendoscope.io/trial

Subscribe - trendoscope.io/pricing

Telegram: p.trendoscope.io/telegram

Rate us : trustpilot.com/review/trendoscope.io

Subscribe - trendoscope.io/pricing

Telegram: p.trendoscope.io/telegram

Rate us : trustpilot.com/review/trendoscope.io

The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.