pub trait BinarySearchRange<T> {
    // Required method
    fn range(&self, range: Range<T>) -> Range<usize>;
}
Expand description

ソート済みの列を検索します。

Required Methods§

source

fn range(&self, range: Range<T>) -> Range<usize>

Implementations on Foreign Types§

source§

impl<T: Ord> BinarySearchRange<T> for [T]

source§

fn range(&self, range: Range<T>) -> Range<usize>

ソート済みの列に対して値の範囲に対応した index の範囲を返します。

Examples
use binary_search_range::BinarySearchRange;

let a = vec![3, 3, 4, 5, 7, 7];
assert_eq!(a.range(0..5), 0..3); // [3, 3, 4         ]
assert_eq!(a.range(4..5), 2..3); // [      4         ]
assert_eq!(a.range(4..6), 2..4); // [      4, 5      ]
assert_eq!(a.range(4..8), 2..6); // [      4, 5, 7, 7]

Implementors§