2.時間記錄
3.程式正確性證明
1.隨機數生成
1.1 隨機數發生器 rand()
包含在標頭檔案中的函式
rand()
可生成乙個隨機數,其有以下特點:
1.2 隨機數種子
2.時間記錄
2.1 clock()計時函式
在中的clock()函式返回從「開啟這個程式程序」到「程式中呼叫clock()函式」時之間的cpu時鐘計時單元(clock tick)數,在msdn中稱之為掛鐘時間(wal-clock)。
#ifndef _clock_t_defined
typedef
long clock_t;
#define _clock_t_defined
#endif
clock_t clock
(void);
// 返回長整型
2.2 每秒的時鐘單元數
在中還定義了乙個常量
clocks_per_sec
,表示一秒鐘的時鐘計時單元數,
#define clock_per_sec ((clock_t)1000)
#define clk_tck clock_per_sec
所以clock() / clocks_per_sec
就是經過的秒數。
//計算一段程式執行的時間
#include
#include
using
namespace std;
intmain()
endtime =
clock()
;//計時結束
cout <<
"the run time is: "
<<
(double
)(endtime - starttime)
/ clocks_per_sec <<
"s"<< endl;
system
("pause");
return0;
}
3.程式正確性證明
我們下面寫一段程式來驗證c++中stl的sort()
排序的正確性以及時間。
#include
#include
#include
#include
#include
#include
#include
using
namespace std;
const
int maxn =
1e+6
;// 生成的隨機數數目
void
fill_random_int
(vector<
int>
& v,
int cnt)
void
test_sort
(vector<
int>
& v)
}int
main()
其中,我們用到動態斷言assert(條件)
,當條件為真時無變化,當條件為假時終止程式並給出錯誤提示。 程式生成隨機數與SQL語句生成隨機數
隨機數可以通過程式生成,也可以通過sql語句生成。通過程式生成隨機數時一般採用硬體的編號 時間作為種子,這種方法在瞬間插入資料庫n條資料的時候會影響隨機數的效果,生成很多相鄰的插入值相同。所以頻繁插入時可以使用sql語句的內建函式生成隨機數,可以避免此類事情發生。demo c int min 0,m...
C 隨機數生成
using system using system.collections.generic using system.text namespace createrandomno return sb.tostring 生成大寫字母隨機數 public static string getabcpwd i...
C 隨機數生成
標準庫 被包含於中 提供兩個幫助生成偽隨機數的函式 函式一 int rand void 從srand seed 中指定的seed開始,返回乙個 seed,rand max 0x7fff 間的隨機整數。函式二 void srand unsigned seed 引數seed是rand 的種子,用來初始化...