Java 隨機生成演算法測試工具類 (二)

2021-09-19 11:42:15 字數 2099 閱讀 9715

生成n個元素的隨機array[n]陣列,隨機元素所在範圍為array[rangel, ranger]

/**

* 生成隨機數組

* @param n 陣列個數

* @param rangel 隨機元素所在左區間

* @param ranger 隨機元素所在右區間

* @return

*/public

static integer[

]generaterandomarray

(integer n, integer rangel, integer ranger)

// 生成n個元素的隨機數組,每個元素的範圍為[rangel, ranger]

random random =

newrandom()

; integer[

] array =

newinteger

[n];

for(int i =

0; i < n; i++

)return array;

}

生成n個元素有序array[n]陣列(公升序),依據隨機進行打亂有序排序。

/**

* 生成接見(似乎)有序的隨機數組

* @param n 陣列長度

* @param swaptimes 交換組數

* @return

*/public

static integer[

]generatenearlyorderedarray

(integer n, integer swaptimes)

// 交換swaptimes組資料,進行打亂有序排序

random random =

newrandom()

;for

(int i =

0; i < swaptimes; i++

)return array;

}

採用函式式程式設計之consumer進行設計方法,將函式作為引數傳遞的方式進行測試。

/**

* 測試排序的時間週期

* @param sortname 測試演算法的名稱

* @param sort 演算法的函式

* @param array 測試的陣列

* @param */

public

static

<

t>

void

testsort

(string sortname, consumer

]> sort,t[

] array)

/**

* 驗證排序正確性:公升序

* @param array

* @param * @return

*/public

static

<

textends

comparable

<

t>> boolean issorted(t

array)}}

return

true

;}

/**

* 陣列值相互替換

此類為工具類,是為了輔助演算法進行計算而設計此類,根據後面的演算法不斷增多,對此類不斷封裝對應的方法。

隨機系列生成演算法

給定乙個正整數n,需要輸出乙個長度為n的陣列,陣列元素是隨機數,範圍為0 n 1,且元素不能重複。比如 n 3 時,需要獲取乙個長度為3的陣列,元素範圍為0 2。首先,讓我們先構造如下函式 cpp view plain copy 隨機數生成函式,生成 a,b 之間的乙個隨機數字 其中0 aint r...

java測試工具

1.新增lib 右擊專案 build path add libraries junit next junit4 finish 2.導包import org.junit.test 3.例 public class test 4.在junit之前執行 before public void beforej...

隨機數生成演算法

看到一些介紹隨機數生成演算法的文章,收集下來,有空深入了解下。c語言中偽隨機數生成演算法實際上是採用了 線性同餘法 具體的計算如下 xi xi 1 a c mod m 其中a,c,m都是常數 一般會取質數 當c 0時,叫做乘同餘法。srand 函式置的seed實際上會作為x0被代入上式中,然後每次呼...