皆さん、こんにちは!
その解き方の中で、
「バラバラに並んでいるデータを昇順・降順に並び替える」際の方法のひとつに「バブルソート」があります。
「隣り合う要素の大小を繰り返し比較していく事で、最終的には全体を並び替える」というやり方です。
まずはコードを確認して、その後に図解で紹介していきます。
実際に私も自分で図解を作成する事で”イメージ”で理解する事が出来ました。
<コード>
<進め方>
?for文を2つ使う事で2つの値を繰り返し比較できる準備をする。この際、変数Jは変数iと値が被らないように1つずらしておく。
?if文を使う事で実際に比較を行う。但し、今回の「昇順」の場合は右側の値が小さい場合に更新するように比較演算子を使う。
?より小さい値(min)は、配列array[i]に更新されるように代入する。
?最後に、全て更新された配列array[i]の値を要素の数だけ出力を繰り返す。
<図解>
図解に関しては、私自身が理解しにくかったところを中心に作成しています。特に、「多重ループではプログラムがどんな動き方になるのか」や「配列array[i]の値を繰り返し更新していく」という考え方が理解できなかったので、改めて図解にしてみるとスッと理解が進みました。
頭でごちゃごちゃになる前に図解でスッキリとイメージ化をさせる事が大切だと勉強になりましたね!
これからも複雑なことや理解しにくかったところは自分なりの図解をつくりながら地道に学んでいこうと思います。焦りも禁物、怠慢も禁物。日々プログラミングの勉強を積み重ねていこうと思います。
では、また?