選択ソート in Rust
選択ソート selection sort
O(N^2)
- 最小値から順に決めていく
- 安定ソートでない
fn main() { let mut a = [3, 2, 1, 4, 1]; for i in 0..a.len() { let mut min = i; for j in i..a.len() { if a[min] > a[j] { min = j; } } a.swap(i, min); } println!("{:?}", a); }
O(N^2)
fn main() { let mut a = [3, 2, 1, 4, 1]; for i in 0..a.len() { let mut min = i; for j in i..a.len() { if a[min] > a[j] { min = j; } } a.swap(i, min); } println!("{:?}", a); }