Scratch 計数ソート課題3
課題内容
スペースキーでリストを計数ソートを用いて昇順に並び替え
解答
解答を表示する
背景
変更①変更②
定義 変数初期化
↓↓↓↓↓
定義 変数初期化 [状態 v]を[未整列]にする
定義 計数ソート
↓↓↓↓↓
定義 計数ソート [選択場所 v]を(1)にする ([リスト v]の長さ::list)回繰り返す [選択値 v]を([リスト v]の(選択場所)番目)にする [バケツ選択場所 v]を(((選択値)-(最小値))+(1))にする [バケツ選択値 v]を([バケツ v]の(バケツ選択場所)番目)にする [バケツ v]の(バケツ選択場所)番目を((バケツ選択場値)+(1))で置き換える [選択場所 v]を(1)ずつ変える end [バケツ選択場所 v]を(1)にする [選択場所 v]を(1)にする ([バケツ v]の長さ::list)回繰り返す [バケツ選択値 v]を([バケツ v]の(バケツ選択場所)番目)にする [数値 v]を(((バケツ選択値)+(最小値))-(1))にする (バケツ選択値)回繰り返す [リスト v]の(選択場所)番目を(数値)で置き換える [選択場所 v]を(1)ずつ変える end [バケツ選択場所 v]を(1)ずつ変える end
解説
解説を表示する
背景
変更①変更②
定義 変数初期化
定義「変数初期化」が呼び出されたとき、スクリプトを開始する
[状態 v]を[未整列]にする
変数の初期設定
定義 計数ソート
定義「計数ソート」が呼び出されたとき、スクリプトを開始する
[選択場所 v]を(1)にする ([リスト v]の長さ::list)回繰り返す [選択値 v]を([リスト v]の(選択場所)番目)にする [バケツ選択場所 v]を(((選択値)-(最小値))+(1))にする [バケツ選択値 v]を([バケツ v]の(バケツ選択場所)番目)にする [バケツ v]の(バケツ選択場所)番目を((バケツ選択場値)+(1))で置き換える [選択場所 v]を(1)ずつ変える end
1番目から値に対応するリスト「バケツ」の場所でカウントする。
[バケツ選択場所 v]を(1)にする [選択場所 v]を(1)にする ([バケツ v]の長さ::list)回繰り返す [バケツ選択値 v]を([バケツ v]の(バケツ選択場所)番目)にする [数値 v]を(((バケツ選択値)+(最小値))-(1))にする (バケツ選択値)回繰り返す [リスト v]の(選択場所)番目を(数値)で置き換える [選択場所 v]を(1)ずつ変える end [バケツ選択場所 v]を(1)ずつ変える end
リスト「バケツ」の1番目からカウント分入れていく