题目:使用Rust语言写一个冒泡排序的算法,基础要求是使用固定类型(比如i32)的数组排序,提高部分是能够使用template和PartialOrd实现对任意类型的排序
//Author:Doris
fn main() {
let mut list = vec![1, 34, 50, 200, 34, 51, 25, 100, 65];
bubble_sort(&mut list);
println!("{:?} ", list);
let mut list = vec!['D', 'o', 'r', 'i', 's'];
bubble_sort(&mut list);
println!("{:?} ", list);
}
fn bubble_sort<T: PartialOrd>(arr: &mut [T]) {
for i in 0..arr.len() {
for j in 1..arr.len() - i {
if arr[j - 1] > arr[j] {
arr.swap(j - 1, j);
}
}
}
}
运行截图: