こんばんゎ。
c言語で期限が明日までの課題があるんですが、私1人じゃ終わりません!
誰か課題をやってくれるネ申はいませんかー
お願いします♪
課題
ファイルにあるデータを配列に格納し、下記の4種類の整列アルゴリズムを用いて整列する。このとき移動回数および実行時間(clock関数)を記録する。
(1) 単純挿入法
(2) 単純選択法
(3) バブルソート
(4) クイックソート
ファイルには整数がランダムに10,000コあります。
ex.
6378
90042
32786
31124
89571
3867
・
・
・
参考までに授業で使用した資料を以下においておきます。
すべてパスは
777
です。
http://www.rupan.net/uploader/download/1307010327.pdf
http://www.rupan.net/uploader/download/1307010502.pdf
http://www.rupan.net/uploader/download/1307010892.pdf
整列の効率性の比較
- bitter_fox
- 記事: 607
- 登録日時: 14年前
- 住所: 大阪府
Re: 整列の効率性の比較
この掲示板では課題の丸投げを禁じています。(フォーラムルールをご確認ください)まい さんが書きました:こんばんゎ。
c言語で期限が明日までの課題があるんですが、私1人じゃ終わりません!
誰か課題をやってくれるネ申はいませんかー
お願いします♪
お手伝いならさせていただきます。
これらのアルゴリズムはどれぐらいわかりますか?まい さんが書きました: 課題
ファイルにあるデータを配列に格納し、下記の4種類の整列アルゴリズムを用いて整列する。このとき移動回数および実行時間(clock関数)を記録する。
(1) 単純挿入法
(2) 単純選択法
(3) バブルソート
(4) クイックソート
まい さんが書きました: ファイルには整数がランダムに10,000コあります。
ex.
6378
90042
32786
31124
89571
3867
・
・
・
ではまず、ファイルから10000個の整数を読み込むプログラムを作って見てください。(このプログラムを枠組みに各ソートアルゴリズムを調べていきましょう)
[hr][修正・ここから]
資料3のプログラムが枠組みになっているんですね。
資料3のプログラムを実行できるようにしてみてください。(未定義の各種ソート関数を適切に定義してみてください。)
[ここまで][hr]
資料の転載の許可は教授からいただいていますか?まい さんが書きました: 参考までに授業で使用した資料を以下においておきます。
すべてパスは
777
です。
http://www.rupan.net/uploader/download/1307010327.pdf
http://www.rupan.net/uploader/download/1307010502.pdf
http://www.rupan.net/uploader/download/1307010892.pdf
この教授のウェブサイトを見させていただきましたがいずれの資料も認証を以てアクセスするようになっていました、これを勝手に転載するのは情報モラル的に問題があると思うのですが・・・
[hr][追記]
資料は一通り見させてもらいました、基本的な部分は資料のコードをコピペすれば終わりますね。
COUNTに関しても手を加える必要がありますが、これも非常に簡単です。
COUNT(交換回数)については資料1の最後に書かれていますので、ここを参考になさってください。
資料では単純選択法を例にとって説明しているので例として二分挿入法を修正してみます。
void sort_binary(int size, int *array)
{
int i, j, x;
int mid, low, high;
for (i = 1; i < size; i++)
{
x = array[i];
COUNT++;
low = 0;
high = 1;
while (low < high)
{
mid = (low + high) / 2;
if (array[mid] <= x)
{
low = mid + 1;
}
else
{
high = mid;
}
}
j = i;
while (j >= high + 1)
{
array[i] = array[j - 1];
COUNT++;
j--;
}
array[j] = x;
COUNT++;
}
}
[修正]
二分挿入法のコードの誤りを修正しました。