Auto merge of #122945 - andy-k:sorted-vec-example, r=jhpratt
improve example on inserting to a sorted vector to avoid shifting equal elements
This commit is contained in:
commit
6bbd8c519a
@ -2464,8 +2464,10 @@ unsafe fn rotate_right_inner(&mut self, k: usize) {
|
|||||||
///
|
///
|
||||||
/// let mut deque: VecDeque<_> = [0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55].into();
|
/// let mut deque: VecDeque<_> = [0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55].into();
|
||||||
/// let num = 42;
|
/// let num = 42;
|
||||||
/// let idx = deque.partition_point(|&x| x < num);
|
/// let idx = deque.partition_point(|&x| x <= num);
|
||||||
/// // The above is equivalent to `let idx = deque.binary_search(&num).unwrap_or_else(|x| x);`
|
/// // If `num` is unique, `s.partition_point(|&x| x < num)` (with `<`) is equivalent to
|
||||||
|
/// // `s.binary_search(&num).unwrap_or_else(|x| x)`, but using `<=` may allow `insert`
|
||||||
|
/// // to shift less elements.
|
||||||
/// deque.insert(idx, num);
|
/// deque.insert(idx, num);
|
||||||
/// assert_eq!(deque, &[0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 42, 55]);
|
/// assert_eq!(deque, &[0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 42, 55]);
|
||||||
/// ```
|
/// ```
|
||||||
|
@ -2724,8 +2724,10 @@ pub fn strip_suffix<P: SlicePattern<Item = T> + ?Sized>(&self, suffix: &P) -> Op
|
|||||||
/// ```
|
/// ```
|
||||||
/// let mut s = vec![0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55];
|
/// let mut s = vec![0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55];
|
||||||
/// let num = 42;
|
/// let num = 42;
|
||||||
/// let idx = s.partition_point(|&x| x < num);
|
/// let idx = s.partition_point(|&x| x <= num);
|
||||||
/// // The above is equivalent to `let idx = s.binary_search(&num).unwrap_or_else(|x| x);`
|
/// // If `num` is unique, `s.partition_point(|&x| x < num)` (with `<`) is equivalent to
|
||||||
|
/// // `s.binary_search(&num).unwrap_or_else(|x| x)`, but using `<=` will allow `insert`
|
||||||
|
/// // to shift less elements.
|
||||||
/// s.insert(idx, num);
|
/// s.insert(idx, num);
|
||||||
/// assert_eq!(s, [0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 42, 55]);
|
/// assert_eq!(s, [0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 42, 55]);
|
||||||
/// ```
|
/// ```
|
||||||
@ -4175,7 +4177,7 @@ pub fn is_sorted_by_key<'a, F, K>(&'a self, f: F) -> bool
|
|||||||
/// ```
|
/// ```
|
||||||
/// let mut s = vec![0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55];
|
/// let mut s = vec![0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55];
|
||||||
/// let num = 42;
|
/// let num = 42;
|
||||||
/// let idx = s.partition_point(|&x| x < num);
|
/// let idx = s.partition_point(|&x| x <= num);
|
||||||
/// s.insert(idx, num);
|
/// s.insert(idx, num);
|
||||||
/// assert_eq!(s, [0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 42, 55]);
|
/// assert_eq!(s, [0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 42, 55]);
|
||||||
/// ```
|
/// ```
|
||||||
|
Loading…
Reference in New Issue
Block a user