作者Angelliya (澪澪...谁还有心?)
看板Flash
标题Re: [问题] 阵列元素之重新排列
时间Thu Jul 30 23:21:27 2009
: 推 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)