pub trait BinarySearchRange<T> {
// Required method
fn range(&self, range: Range<T>) -> Range<usize>;
}
Expand description
ソート済みの列を検索します。
Required Methods§
Implementations on Foreign Types§
source§impl<T: Ord> BinarySearchRange<T> for [T]
impl<T: Ord> BinarySearchRange<T> for [T]
source§fn range(&self, range: Range<T>) -> Range<usize>
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]