(nums: &mut [i32])
| 28 | } |
| 29 | |
| 30 | fn bubble_sort3(nums: &mut [i32]) { |
| 31 | let mut compare = true; |
| 32 | let mut len = nums.len() - 1; |
| 33 | while len > 0 && compare { |
| 34 | compare = false; |
| 35 | for i in 0..len { |
| 36 | if nums[i] > nums[i+1] { |
| 37 | nums.swap(i, i+1); |
| 38 | compare = true; // 数据无序,还需继续比较 |
| 39 | } |
| 40 | } |
| 41 | len -= 1; |
| 42 | } |
| 43 | } |
| 44 | |
| 45 | fn main() { |
| 46 | let mut nums = [54,26,93,17,77,31,44,55,20]; |