Re: [問題] 陣列元素之重新排列
: 推 aquarianboy:對每個元素用乘法運算,給它乘以1~n的亂數後,原來是0 07/30 16:45
: → aquarianboy:的,就還是0,其它的可能再取一下整數應該就會有你要 07/30 16:45
: → aquarianboy:的效果 07/30 16:45
: → aquarianboy:抱歉,沒看到"不重複",所以得另外再處理一下囉 07/30 20:49
我喜歡板大的乘法運算XD
回原PO的問題
如何將原來值為一的元素 亂數替換成 值為1~n 且不重複的元素呢?
我的想法是:
先訂一個暫時的變數
然後在跑一個這個陣列的迴圈
遇到1的時候放入這個變數,然後++
var arr1:Array=new Array(1,1,0,1,0);
var tempI:Number=1;
for(i=0;i<arr1.length;i++)
{
if(arr1[i]==1)
{
arr1[i]=tempI;
tempI++;
}
}
這樣的話
[1,1,0,1,0]就變成[1,2,0,3,0]就不重覆了
亂數的話
再把這個陣列裡面不為0的數字抓出來
後面可以用板上討論過的"亂數不重複"這篇文章繼續寫下去
參考看看吧?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.136.111.113
※ 編輯: Angelliya 來自: 220.136.111.113 (07/30 23:25)
討論串 (同標題文章)