本文簡要介紹rust語言中 slice.partition_point
的用法。
用法
pub fn partition_point<P>(&self, pred: P) -> usize where P: FnMut(&T) -> bool,
根據給定的謂詞返回分區點的索引(第二個分區的第一個元素的索引)。
假定切片根據給定的謂詞進行分區。這意味著謂詞返回 true 的所有元素都位於切片的開頭,謂詞返回 false 的所有元素都位於切片的末尾。例如,[7, 15, 3, 5, 4, 12, 6] 是謂詞 x % 2 != 0 下的一個分區(所有奇數都在開頭,所有偶數都在結尾)。
如果這個切片沒有被分區,返回的結果是未指定的和無意義的,因為這個方法執行一種二分查找。
另請參見 binary_search
、 binary_search_by
和 binary_search_by_key
。
例子
let v = [1, 2, 3, 3, 5, 6, 7];
let i = v.partition_point(|&x| x < 5);
assert_eq!(i, 4);
assert!(v[..i].iter().all(|&x| x < 5));
assert!(v[i..].iter().all(|&x| !(x < 5)));
相關用法
- Rust slice.partition_dedup_by_key用法及代碼示例
- Rust slice.partition_dedup_by用法及代碼示例
- Rust slice.partition_dedup用法及代碼示例
- Rust slice.sort_unstable_by_key用法及代碼示例
- Rust slice.iter_mut用法及代碼示例
- Rust slice.windows用法及代碼示例
- Rust slice.repeat用法及代碼示例
- Rust slice.group_by_mut用法及代碼示例
- Rust slice.align_to_mut用法及代碼示例
- Rust slice.as_chunks_unchecked用法及代碼示例
- Rust slice.fill用法及代碼示例
- Rust slice.array_windows用法及代碼示例
- Rust slice.sort_unstable_by用法及代碼示例
- Rust slice.sort用法及代碼示例
- Rust slice.rotate_left用法及代碼示例
- Rust slice.as_mut_ptr用法及代碼示例
- Rust slice.swap_unchecked用法及代碼示例
- Rust slice.get_unchecked用法及代碼示例
- Rust slice.split_array_mut用法及代碼示例
- Rust slice.contains用法及代碼示例
- Rust slice.splitn_mut用法及代碼示例
- Rust slice.split_first用法及代碼示例
- Rust slice.splitn用法及代碼示例
- Rust slice.is_sorted_by_key用法及代碼示例
- Rust slice.split_array_ref用法及代碼示例
注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 slice.partition_point。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。