atcoder/lib/algorithm/
sort.rs1pub trait SortReverse {
5 fn sort_reverse(&mut self);
9
10 fn sort_unstable_reverse(&mut self);
14}
15
16impl<T: Ord> SortReverse for [T] {
17 fn sort_reverse(&mut self) {
18 self.sort_by(|left, right| right.cmp(left));
19 }
20
21 fn sort_unstable_reverse(&mut self) {
22 self.sort_unstable_by(|left, right| right.cmp(left));
23 }
24}
25
26#[cfg(test)]
27mod tests {
28 use super::SortReverse;
29
30 #[test]
31 fn sorts_descending() {
32 let mut values = [2, 1, 3];
33 values.sort_unstable_reverse();
34 assert_eq!(values, [3, 2, 1]);
35 }
36}