// 定义类型别名
type OrdArray<T> = Vec<T> where T: Ord;
// 通用排序函数
fn sort_array<T>(mut arr: OrdArray<T>) -> OrdArray<T>
where
T: Ord,
{
arr.sort();
arr
}
fn main() {
// 示例1:i32类型数组
let mut int_arr: OrdArray<i32> = vec![3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5];
let sorted_int_arr = sort_array(int_arr);
println!("Sorted int array: {:?}", sorted_int_arr);
// 示例2:String类型数组
let mut string_arr: OrdArray<String> = vec!["banana".to_string(), "apple".to_string(), "cherry".to_string()];
let sorted_string_arr = sort_array(string_arr);
println!("Sorted string array: {:?}", sorted_string_arr);
}