fn bubble_sort<T:PartialOrd>(arr: &mut[T]) { | |
let len = arr.len(); | |
if len < 2 { | |
return ; | |
} | |
// 每次选出一个放到最末,上限递减 | |
for max_index in (0..len).rev() { | |
// 顺序标记,有序跳出 | |
let mut sorted = true; | |
// 从头检测排序 | |
for current in 0..max_index { | |
// 不满足顺序交换,向上冒泡 | |
if arr[current] > arr[current + 1] { | |
arr.swap(current, current + 1); | |
sorted = false; | |
} | |
} | |
if sorted { | |
break; | |
} | |
} | |
} |
rust-algorithms:2-冒泡排序
Rust
353
0
0
2022-11-10
登录后可点赞和收藏
登录后可点赞和收藏