@@ -2593,14 +2593,15 @@ impl<T, A: Allocator> VecDeque<T, A> {
2593
2593
/// ```
2594
2594
///
2595
2595
/// If you want to insert an item to a sorted deque, while maintaining
2596
- /// sort order:
2596
+ /// sort order, consider using [`partition_point`] :
2597
2597
///
2598
2598
/// ```
2599
2599
/// use std::collections::VecDeque;
2600
2600
///
2601
2601
/// let mut deque: VecDeque<_> = [0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55].into();
2602
2602
/// let num = 42;
2603
- /// let idx = deque.binary_search(&num).unwrap_or_else(|x| x);
2603
+ /// let idx = deque.partition_point(&num);
2604
+ /// // The above is equivalent to `let idx = deque.binary_search(&num).unwrap_or_else(|x| x);`
2604
2605
/// deque.insert(idx, num);
2605
2606
/// assert_eq!(deque, &[0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 42, 55]);
2606
2607
/// ```
@@ -2744,6 +2745,19 @@ impl<T, A: Allocator> VecDeque<T, A> {
2744
2745
/// assert!(deque.iter().take(i).all(|&x| x < 5));
2745
2746
/// assert!(deque.iter().skip(i).all(|&x| !(x < 5)));
2746
2747
/// ```
2748
+ ///
2749
+ /// If you want to insert an item to a sorted deque, while maintaining
2750
+ /// sort order:
2751
+ ///
2752
+ /// ```
2753
+ /// use std::collections::VecDeque;
2754
+ ///
2755
+ /// let mut deque: VecDeque<_> = [0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55].into();
2756
+ /// let num = 42;
2757
+ /// let idx = deque.partition_point(&num);
2758
+ /// deque.insert(idx, num);
2759
+ /// assert_eq!(deque, &[0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 42, 55]);
2760
+ /// ```
2747
2761
#[ stable( feature = "vecdeque_binary_search" , since = "1.54.0" ) ]
2748
2762
pub fn partition_point < P > ( & self , mut pred : P ) -> usize
2749
2763
where
0 commit comments