未整列の配列a[i](i=1,2,…,n)を、流れ図で示すアルゴリズムによって昇順に整列する。n=6でa[1]~a[6]の値がそれぞれ21,5,53,71,3,17の場合、流れ図において、a[j-1]とa[j]の値の入替えは何回行われるか。

【問題】

未整列の配列aiを、流れ図で示すアルゴリズムによって昇順に整列する。n=6でa[1]~a[6]の値がそれぞれ21,5,53,71,3,17の場合、流れ図において、a[j-1]とa[j]の値の入替えは何回行われるか。

開始

ループ1 i:1,1,n-1

ループ2 j:n,-1,i+1

a[j-1] > a[j]  NO ━━━━━━┓

┃ YES            ┃

a[j-1]とa[j]の値を入れ替える   ┃

┣━━━━━━━━━━━━━━━┛

ループ2

ループ1

終了

【解答】

実際にトレースしてみる。

回数┃入替回数┃配列の状態  ┃式

0 ┃0   ┃21,5,53,71,3,17┃

1 ┃0   ┃21,5,53,71,3,17┃a[5] > a[6]

2 ┃1   ┃21,5,53,3,71,17┃a[4] > a[5]

3 ┃2   ┃21,5,3,53,71,17┃a[3] > a[4]

4 ┃3   ┃21,3,5,53,71,17┃a[2] > a[3]

5 ┃4   ┃3,21,5,53,71,17┃a[1] > a[2] 

6 ┃5   ┃3,21,5,53,17,71┃a[5] > a[6]

7 ┃6   ┃3,21,5,17,53,71┃a[4] > a[5]

8 ┃6   ┃3,21,5,17,53,71┃a[3] > a[4]

9 ┃7   ┃3,5,21,17,53,71┃a[2] > a[3]

10┃7   ┃3,5,21,17,53,71┃a[5] > a[6]

11┃7   ┃3,5,21,17,53,71┃a[4] > a[5]

12┃8   ┃3,5,17,21,53,71┃a[3] > a[4]

あとのfor文はソートが完了しており、入れ替え無しなので、全部で8回となる。

↓クリックしていただけると励みになります↓
にほんブログ村 株ブログ 株日記へ にほんブログ村 メンタルヘルスブログ 統合失調症へ にほんブログ村 為替ブログ 為替日記へ

シェアする

  • このエントリーをはてなブックマークに追加

フォローする