2017-04-12 103 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僅僅是一個整數literal.It只是存儲值i + 352 B [I]中,所以B [0]將具有值352,B [1]將具有值353等。如果您進一步將數組大小增加到2000,那麼arr [1999]將包含1999 + 352。

計算任何程序的運行時間可能是這一個..
CMD/v一個更好的辦法:「!!!!回波時間& youprogram.exe &回波時間」上/ C