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
320
0
0
2022-11-10
登录后可点赞和收藏
登录后可点赞和收藏