rubyで挿入ソート

  def insert(ary)
    res = []
    ary.each do |value|
      if res.length == 0
        res << value
      else
        res.length.times do |j|
          if value <= res[j]
            (res.length - 1).downto(j) do |k|
              res[k + 1] = res[k]
            end
            res[j] = value
            break
          end
        end
      end
    end
    res
  end
  
    assert_equal([3,4,8],@obj.insert([8,3,4]))
    assert_equal([1,2,3],@obj.insert([3,2,1]))
    assert_equal([1,2,3,4,5,6,7,8],@obj.insert([8,4,3,7,6,5,2,1]))
    
  Started
.
Finished in 0.000682 seconds.
-------------------------------------------------------------------------------
1 tests, 6 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
-------------------------------------------------------------------------------
1466.28 tests/s, 8797.65 assertions/s

スマホでtermux使いながら、今日一日使って書いた。
配列内の値をスライドさせる方法が思いついたらできた。

アルゴリズムでこれが実装が簡単だって書いてあったけど、配列内の値をスライドさせるコードって初めて書いたぞふざけんな。

参考にしたサイト。答えのコードは見ていない。答えのコード見て勉強したほうがいいな。でも、コード見るの苦手なんだよな…。
挿入ソート : アルゴリズム