PowerShellで挿入ソートをするサンプルコードを紹介します。
仕様
PowerShellで配列データを、挿入ソートをして表示します。
PowerShellは標準でソートの関数が用意されていますが、あえて自力でソートする関数を作成します。
ソースコード
挿入ソートをする部分をinsertSort関数として別に切り出しました。
テストデータとしてランダムな数字を配列で用意して、ソート前後で表示します。
挿入ソート.ps1
# sort function
function insertSort($data){
for($i = 0; $i -lt $data.Count; $i++){ # <
$temp = $data[$i]
for($j = $i; $j -gt 0 -and $data[$j - 1] -gt $temp ; $j--){
# 挿入位置まで値をスライドする
$data[$j] = $data[$j-1]
}
$data[$j] = $temp
}
return $data
}
$array1 = @(100,0,1,75,3,4,50,2,10,2,99,5,8,7,35,4,8)
# ソート前表示
Write-Host "ソート前"
Write-Host $array1
# 挿入ソート実行
$array2 = insertSort($array1)
# ソート後表示
Write-Host "ソート後"
Write-Host $array2
Read-Host
insertSort関数以外は、別記事で紹介したバブルソートや選択ソートと同じコードを流用します。
テスト実行
実行は右クリックメニューの「PowerShellで実行」をクリックします。
実行するとソート前後の配列を表示されます。
そこから数字が小さい順[昇順]であることが確認できました。
参考情報
環境
下記の環境で作成・実行しております。
No. | 環境 | バージョン |
---|---|---|
1 | OS | Windows10 |
2 | PowerShell | 5.1 |
以上です。
コメント