本文简要介绍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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。