pub struct SortedSeq<T>(_);
Expand description
座標圧縮です。
Examples
use zarts::SortedSeq;
let values = vec![2, -1, -1, 5, -1, 2, -3];
// -3, -1, 2, 5
let seq = SortedSeq::new(values);
assert_eq!(seq.ord(&-3), 0);
assert_eq!(seq.ord(&-1), 1);
assert_eq!(seq.ord(&2), 2);
assert_eq!(seq.ord(&5), 3);
assert_eq!(seq.at(0), &(-3));
assert_eq!(seq.at(1), &(-1));
assert_eq!(seq.at(2), &2);
assert_eq!(seq.at(3), &5);
Panics
構築時に与えられなかったキーを引くとパニックです。
ⓘ
use zarts::SortedSeq;
let primes = vec![2, 3, 5, 7, 11];
let seq = SortedSeq::new(primes);
seq.ord(&4);
index が集合のサイズ以上だとパニックです。
ⓘ
use zarts::SortedSeq;
let values = vec![1, 1, 2, 2, 3, 4, 9, 9];
let seq = SortedSeq::new(values);
seq.at(5);
Implementations§
Trait Implementations§
source§impl<T> FromIterator<T> for SortedSeq<T>where
T: Ord,
impl<T> FromIterator<T> for SortedSeq<T>where T: Ord,
source§fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Self
fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Self
Creates a value from an iterator. Read more