segment sort
区間の整列
ミニレポート第 10 回課題
配列の一部の区間を昇順に整列させ,それ以外の要素を変更しない
関数 ssort を作れ.
プログラムの仕様
-
前提:整列対象の配列の要素は整数型であり,入力された配列のうち,
整列させる範囲として指定された場所には値が格納されているとする.
-
引数:整列対象の配列へのポインタと整数型引数を 2 個とる.
-
戻り値:なし
-
画面への出力:なし
-
動作:下記書き出しのパラメータ名であるとき,a[l] から a[r]
までの要素を昇順に整列させる.それ以外の要素は変更しない.
関数定義の書き出し例: void ssort(int a[], int l, int r)
例えば配列 data の内容が data[0] から順に 20 6 55 74 3 45 13 87 46 30
だった場合,ssort(data, 3, 4) を実行すると配列 data の内容は
20 6 55 3 74 45 13 87 46 30 となり,ssort(data, 0, 9) を実行すると
10 個要素すべてが整列される通常のソートと等価になる.
プログラム全体についての注意
-
練習10.1
と同じ内容で print_array のプロトタイプ宣言と関数定義も行え.
-
プログラムファイルの設置場所は演習サーバ
sirius.yamamotolab.jt.u-tokai.ac.jp 上の自分のホームディレクトリ
直下の c ディレクトリとし,
ファイル名は report10.c とする
-
レポート提出時には main 関数だけをこちらで用意したもので
置き換えてテストを行うので提出時の
report10.c の main 関数内はどんなものでもよい.
注意事項
-
締切は
2023年12月17日
とする.
-
メールでプログラムを提出する必要はない
-
締切後はレポート受理,非受理の結果がわかるまで上書き
しないように注意せよ
受理した学生のリストを
1 クラス提出者
2 クラス提出者
3 クラス提出者
に掲載する.
締切までに提出したにもかかわらず締切後一週間を過ぎても掲載されていない
場合は山本 <hiroshi@tokai.ac.jp>まで連絡せよ.
未提出の学生はすみやかに再提出せよ.
再提出後一週間経っても掲載されない場合も
山本まで連絡せよ.
Updated in November 4, 2019,
index.html,
Yamamoto Hiroshi Web