Kotlinで挿入ソートの実装(1)

プログラミング

今日も昨日に引き続き、何か実装しよう。

ということで、挿入ソートを実装することにしました。
挿入ソートとは、トランプを持っているときに昇順だか、降順だかで並べるときによく使うやつですね。
手持ちのカードから1枚を取って、それを他の手持ちのカードたちと比較して、順列になるよう、適当な所に差し込む、といったイメージですね。
関連画像

アルゴリズムとしてはそこまで効率はよくないようですが、実装に挑戦してみることにしました。

隙間時間に実装を進めて、一旦下記の形になりました。

fun insertionSort(intArray: IntArray):IntArray {

println(intArray)
val sizeOfArray: Int = intArray.size
for (i in 1..sizeOfArray-1) {
var element = intArray[i]
var oneBeforeIndex: Int = i-1
while (oneBeforeIndex >= 0 && intArray[oneBeforeIndex] > element) {
intArray[oneBeforeIndex+1] = intArray[i]
oneBeforeIndex--
}
intArray[oneBeforeIndex+1] = element
println(intArray)
}
return(intArray)
}

引数入れたら、文字化けしたものが出力されるんですけど…。

>>> val intArray: IntArray = intArrayOf(13,23,55,1,3,7,4,11,9)
>>> insertionSort(intArray)
[I@33f2eb04
[I@33f2eb04
[I@33f2eb04
[I@33f2eb04
[I@33f2eb04
[I@33f2eb04
[I@33f2eb04
[I@33f2eb04
[I@33f2eb04
res68: kotlin.IntArray = [I@33f2eb04

うーむ。これはなんだ…。

そして、力尽きました。

お疲れ様でした。

コメント

タイトルとURLをコピーしました