fn next_combination_inner<T>(a: &mut [T], b: &mut [T]) -> boolwhere
T: Ord,Examples found in repository?
crates/competitive/src/algorithm/combinations.rs (line 286)
280 fn next_combination(&mut self, r: usize) -> bool
281 where
282 T: Ord,
283 {
284 assert!(r <= self.len());
285 let (a, b) = self.split_at_mut(r);
286 next_combination_inner(a, b)
287 }
288
289 /// Permute the elements into previous combination choosing r elements in lexicographical order.
290 /// Return whether such a previous combination exists.
291 fn prev_combination(&mut self, r: usize) -> bool
292 where
293 T: Ord,
294 {
295 assert!(r <= self.len());
296 let (a, b) = self.split_at_mut(r);
297 next_combination_inner(b, a)
298 }