函數(shù)permutation用于產(chǎn)生從0到n-1的無(wú)重復(fù)隨機(jī)數(shù),并將結(jié)果保存到數(shù)組z_array中。程序中使用buffer作為已使用隨機(jī)數(shù)的記錄數(shù)組,假定下一次產(chǎn)生一個(gè)隨機(jī)數(shù)的(產(chǎn)生隨機(jī)數(shù)的范圍在不斷縮?。簉and()%(n-i))為z,遍歷buffer,統(tǒng)計(jì)不大于該隨機(jī)數(shù)且已使用過(guò)的隨機(jī)數(shù)的個(gè)數(shù),記為k,將z+k添加進(jìn)z_array中,作為產(chǎn)生的下一個(gè)隨機(jī)數(shù),如此重復(fù)。這樣便生成了從0到n-1的無(wú)重復(fù)的隨機(jī)數(shù)。
void permutation(int n, int *z_array)
{
int i, j, k, z;
int buffer[N];
/* 初始化數(shù)組 */
for (i=0; i
更多信息請(qǐng)查看IT技術(shù)專欄
2025國(guó)考·省考課程試聽(tīng)報(bào)名