• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語について質問です。)

C言語でバブルソートの要素数Nの値を変えて交換回数、比較回数を数えるプログラムを作成する方法

このQ&Aのポイント
  • 【要約1】C言語で乱数列の要素数Nを変えてバブルソートを行い、交換回数と比較回数を数えるプログラムを作成する方法について解説します。
  • 【要約2】要素数Nを変えるために乱数を生成し、rand.cファイルに保存します。
  • 【要約3】バブルソートを実行するbubblesort.cファイルには交換回数と比較回数をカウントするための変数を定義します。処理時間を出力するためには時間の計測も必要です。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

既に回答が出てますが。 OSやコンパイラ等によっては、別の方法が用意されていることがあります。 例えば、 gettimeofday という関数が用意されていることもあります http://linuxjm.sourceforge.jp/html/LDP_man-pages/man2/gettimeofday.2.html それと、最近はCPUも早くなっているので、1000個くらいのソートだと、バブルソートと他のソートとで、誤差程度の時間しか違わないかもしれません。

その他の回答 (1)

回答No.1

関数呼び出しの直前と直後に関数 clock() を呼び、 それぞれの戻り値の差 / CLOCKS_PER_SEC を求めます。 clock_t start, finish; double duration: start = clock(); /* ここに計測する部分 */ finish = clock(); duration = (double)(finish - start) / CLOCKS_PER_SEC;

参考URL:
http://msdn.microsoft.com/ja-jp/library/4e2ess30(v=VS.71).aspx

関連するQ&A

専門家に質問してみよう