2017-04-12 3 views
0

マージソートの実行時間の測定に関するオンラインのコードが見つかりました。値が配列に配置されている部分を理解できませんでした。ライン内:b [i] = i + 352; 352の価値は何ですか?配列のサイズを2000,3000,4000などにしたい場合は、次の値になります。(C++)マージソートの実行時間

 int b[1000]; 
     int i; 
      for (i = 0; i < 1001; i++) { 
      b[i] = i + 352 ; 
      } //put values into array 

     int n = sizeof b/sizeof b[0]; 

     clock_t start = clock(); 
     merge_sort(b, n); 
     clock_t end = clock(); 

     double elapsed1 = ((end - start)/CLOCKS_PER_SEC);// seconds elapse 
     printf("Time elapsed for merge 1000: %f\n", elapsed1); 

答えて

0

352は、[1]のように値353を有し、[0]の値352、Bを持ってBようliteral.Itはちょうど、[i]はiがBの352 +の値を記憶しているだけの整数でありますさらに配列のサイズを2000に増やすと、arr [1999]には1999 + 352が含まれます。

この1 ..
CMD/Vであるかもしれない任意のプログラムの実行中の時間を計算するための一つの良い方法: "!!!!エコーTIME & youprogram.exe &エコーTIME"/Cの