主题:  看看我的代码。

aaee1122

职务:普通成员
等级:1
金币:0.0
发贴:66
注册:2003/4/1 21:45:45
#12003/8/8 16:57:00
我想产生一个在 0 到 NUM 的随机排列数组??不知道对不对。


function ranArray(num){
a = new array();
a[0]=random(num)+1
i=1
when(i a[i]=random(num)+1;
for(c=0,c if(a[c]==a[i]){
i--
}
}//end for;
i++;
}//end when
return a;
}//end function;

还是有更好的方法呢。。。。?



流云止水

职务:普通成员
等级:3
金币:1.0
发贴:1447
注册:2002/7/12 23:44:20
#22003/8/8 21:24:28
好像没了
不过when是什么东西啊?
while?



aaee1122

职务:普通成员
等级:1
金币:0.0
发贴:66
注册:2003/4/1 21:45:45
#32003/8/10 12:51:48
呵呵。。。打错了。。。
想到了改进版:

function ranArray(min,max){
reference = new array();
result = new array();
long = max-min+1;
for(var i=o,i reference[i]=i+min;
}
do{
a=random(reference.length);
result[t] = reference[a];//随即抽取一个项;
t++;
reference = reference.splice(a,1);//把抽取到的项去除。
}while( reference.length > 0 )
return result;
}//end function;

有问题吗?