Skip to content

Commit

Permalink
Auto merge of #122945 - andy-k:sorted-vec-example, r=jhpratt
Browse files Browse the repository at this point in the history
improve example on inserting to a sorted vector to avoid shifting equal elements
  • Loading branch information
bors committed Apr 2, 2024
2 parents 31075bb + 6430296 commit 6bbd8c5
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 5 deletions.
6 changes: 4 additions & 2 deletions library/alloc/src/collections/vec_deque/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2464,8 +2464,10 @@ impl<T, A: Allocator> VecDeque<T, A> {
///
/// let mut deque: VecDeque<_> = [0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55].into();
/// let num = 42;
/// let idx = deque.partition_point(|&x| x < num);
/// // The above is equivalent to `let idx = deque.binary_search(&num).unwrap_or_else(|x| x);`
/// let idx = deque.partition_point(|&x| x <= num);
/// // 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);
/// assert_eq!(deque, &[0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 42, 55]);
/// ```
Expand Down
8 changes: 5 additions & 3 deletions library/core/src/slice/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2724,8 +2724,10 @@ impl<T> [T] {
/// ```
/// let mut s = vec![0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55];
/// let num = 42;
/// let idx = s.partition_point(|&x| x < num);
/// // The above is equivalent to `let idx = s.binary_search(&num).unwrap_or_else(|x| x);`
/// let idx = s.partition_point(|&x| x <= num);
/// // 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);
/// assert_eq!(s, [0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 42, 55]);
/// ```
Expand Down Expand Up @@ -4175,7 +4177,7 @@ impl<T> [T] {
/// ```
/// let mut s = vec![0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55];
/// let num = 42;
/// let idx = s.partition_point(|&x| x < num);
/// let idx = s.partition_point(|&x| x <= num);
/// s.insert(idx, num);
/// assert_eq!(s, [0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 42, 55]);
/// ```
Expand Down

0 comments on commit 6bbd8c5

Please sign in to comment.