Skip to content

Commit 80fe56d

Browse files
committed
Adds example for sorting Deque
1 parent 2032502 commit 80fe56d

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

src/deque.rs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,25 @@ impl<T, const N: usize> Deque<T, N> {
207207
///
208208
/// [`as_slices`]: Deque::as_slices
209209
/// [`as_mut_slices`]: Deque::as_mut_slices
210+
///
211+
/// # Examples
212+
/// Sorting a deque:
213+
/// ```
214+
/// use heapless::Deque;
215+
///
216+
/// let mut buf = Deque::<_, 4>::new();
217+
/// buf.push_back(2).unwrap();
218+
/// buf.push_back(1).unwrap();
219+
/// buf.push_back(3).unwrap();
220+
///
221+
/// // Sort the deque
222+
/// buf.make_contiguous().sort();
223+
/// assert_eq!(buf.as_slices(), (&[1, 2, 3][..], &[][..]));
224+
///
225+
/// // Sort the deque in reverse
226+
/// buf.make_contiguous().sort_by(|a, b| b.cmp(a));
227+
/// assert_eq!(buf.as_slices(), (&[3, 2, 1][..], &[][..]));
228+
/// ```
210229
pub fn make_contiguous(&mut self) -> &mut [T] {
211230
if self.is_contiguous() {
212231
return unsafe {

0 commit comments

Comments
 (0)