今天在csdn上看到乙個關於隨機數問題的帖子,忽然間想起以前寫過乙個隨機排序一維陣列的方法、於是開始「翻箱倒櫃」終於把它找出來了,呵呵 …
lz 原帖:
比如我現在有1到50這個50個數,每次迴圈我都去隨機這50個數,如果判斷,在隨機的時候產生的數不相等?也就是說我想把這個50個數的順序打亂,分別顯示出來??怎麼做???
我的跟帖:
public我寫的這個方法,為了避免相同的隨機數出現,中間sleep了一下,效率確實降低了不少,不過去掉sleep也不大礙。void randsort(int
_num)
}
另外在這個帖子上還看到兩個不一樣思路的方法、隨便分享一下:
方法一**//
作者 csdn 使用者名稱: baesky
class
program
int rslt
=new
int[
50];
random rand
=new
random();
for(
inti =49
; i
>=
0; i--)
console.writeline(
"consume milsec:"+
(datetime.now
-dt1).totalmilliseconds.tostring());
intline =0
;foreach
(int
t in
rslt)}}
當然、我感覺上面的方法開始部分還是有些累贅,不知大俠們是怎樣認為的???
他的大致思路是:隨機從乙個集合中取出乙個數字,然後依次存入陣列中,已達到隨機排序的目的。
方法二**//
作者csdn 使用者名稱:phil999
private
static
void
sort()
;int
keys
=new
int[arr.length];
random random
=new
random();
for(
inti =0
; i
<
keys.length; i++)
array.sort(keys, arr);
//arr 現在隨機了
}這個方法呢 是巧用了 array的sort方法。
更多方法請參見csdn原帖鏈結
將一維陣列中元素隨機打亂排序
從原list中每次隨機取一項,新增到新的list中,並在原list中刪除。這樣重複,直到原list為空為止。public static listgetrandomlist listinputlist return outputlist 用linqlistl new list l l.select a...
PHP陣列排序,一維陣列,二維陣列排序。
一維陣列排序 1 sort,rsort排序 r reverse表示翻轉,即為降序排列 通過鍵值排序。arr array 10,2,4,1,5,8,7,9 等效於 arr array 0 10,1 2,2 4,3 1,4 5,5 8,6 7,7 9 預設的排序,按鍵值公升序排序,鍵名被從新規定,例如1...
一維陣列氣泡排序
一維陣列氣泡排序判斷陣列是否非亂序.int main void int temp 因為sizeof是unsigned型別,為了避免編譯器警告,所以定義為unsigned型別.如果定義為int型別,對程式執行也無影響.unsigned int i j unsigned int flag 1 for i...