怎么用C++設(shè)計(jì)一個(gè)讓一組數(shù)字隨機(jī)排列的算法,數(shù)字不重復(fù)使用
慕田峪3750655
2016-09-23 18:02:41
TA貢獻(xiàn)63條經(jīng)驗(yàn) 獲得超30個(gè)贊
方法有許多:
方法一,也是最笨的方法,在你選定的范圍內(nèi)隨機(jī)獲得一個(gè)數(shù),判斷在你要保存的數(shù)組里有沒有這個(gè)數(shù),沒有就存進(jìn)去,有就一直循環(huán)直到找到不重復(fù)的為止
方法二,先隨機(jī)出已知數(shù)組的下標(biāo)值,然后取出這個(gè)數(shù)放到另一個(gè)數(shù)組中,再從已知數(shù)組中刪除這個(gè)數(shù)
方法三,將隨機(jī)得到的這個(gè)數(shù)和數(shù)組最后一個(gè)數(shù)交換。然后再從array.length-1中隨機(jī)一個(gè)數(shù)和array.length-1交換
三種方法中最后一個(gè)是最佳的,運(yùn)算次數(shù)最少。
?望采納~
舉報(bào)