挿入ソート in Rust
挿入ソート insertion sort
O(N^2)
- 第2項から先頭に向かって隣同士入れ替えていく
昇順
fn main() { let mut a = [10, 3, 3, 1, 90, 34, 78, 2, 12, 56, 1]; for ins in 1..a.len() { // 挿入する値を退避 let temp = a[ins]; for cmp in (0..ins).rev() { if a[cmp] > temp { // 降順にするには逆にする a.swap(cmp, cmp+1); } else { break; } } } println!("{:?}", a); }