PowerShellでバブルソートするサンプルコードを作成してみました。
(PowerShellでバブルソートする需要はないと思いますが・・・)
仕様
PowerShellで配列データをバブルソートして、配列データを表示します。
PowerShellは標準でソートの関数が用意されていますが、あえて自力でソート関数を作成します。
ソースコード
バブルソートする部分をbubbleSort関数として別に切り出しました。
テストデータとしてランダムな数字を配列で用意して、ソート前後で表示します。
バブルソート.ps1
# sort function
function bubbleSort($data){
for($i = 0; $i -lt $data.Count - 1; $i++){ # 0 to array.count - 1
for($j = $i + 1; $j -lt $data.Count; $j++){ # $i to array.count
if($data[$i] -gt $data[$j]){
# swap
$tmp = $data[$i]
$data[$i] = $data[$j]
$data[$j] = $tmp
}
}
}
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 = bubbleSort($array1)
# ソート後表示
Write-Host "ソート後"
Write-Host $array2
Read-Host
テスト実行
実行は右クリックメニューの「PowerShellで実行」をクリックします。
実行するとソート前後の配列を表示されます。
そこから数字が小さい順[昇順]であることが確認できました。
参考情報
環境
下記の環境で作成・実行しております。
No. | 環境 | バージョン |
---|---|---|
1 | OS | Windows10 |
2 | PowerShell | 5.1 |
以上です。
コメント