我找不到Eclipse的Android开发工具插件的源代码.它似乎被移动了几次,当我谷歌问题时,答案指向错误的地方.此外http://source.android.com/discuss似乎是下降.
首先,有一个随机访问随机数生成器,你不仅可以按顺序生成随机数,因为我们都习惯了,假设rand100()总是生成0-100的值:
for (int i=0;i<5;i++)
print rand100()
output:
14
75
36
22
67
Run Code Online (Sandbox Code Playgroud)
但也随机访问任何随机值,如:
只要您没有更改种子,rand100(0)就会输出14
rand100(3)总是输出22
rand100(4)总是输出67
等等...
我实际上发现了一个开源生成器算法,但是你不能改变种子.我知道伪随机性是一个复杂的领域; 我不知道如何改变它来添加该功能.
是否有可播种的随机访问随机数生成器,最好是开源?还是有一个更好的术语我可以谷歌获取更多信息?
如果没有,我的问题的第2部分是,是否有任何可靠的随机开源传统可种子伪随机数生成器,所以我可以将它移植到多个平台/语言,同时为任何给定的种子保留每个平台的一致值序列?
使用矢量/列表是浪费/糟糕的设计,在大多数情况下,它只有一个元素?
例:
class dragon
{
ArrayList<head> = new ArrayList<head> Heads;
tail Tail = new tail();
body Body = new body();
dragon()
{
theHead=new head();
Heads.add(theHead);
}
void nod()
{
for (int i=0;i<Heads.size();i++)
{
heads.get(i).GoUpAndDown();
}
}
}
class firedragon extends dragon
{
}
class icedragon extends dragon
{
}
class lightningdragon extends dragon
{
}
// 10 other one-headed dragon declarations here
class hydra extends dragon
{
hydra()
{
anotherHead=new head();
for (int i=0;i<2;i++)
{
Heads.add(anotherHead);
}
}
}
class …Run Code Online (Sandbox Code Playgroud) 我最近写了一个简单的宏,因为我厌倦了为每个需要循环的向量输入相同的东西:
#define FORVEC(a,b) for(int b=0;b<a.size();b++)
Run Code Online (Sandbox Code Playgroud)
所以我可以做点什么
vector<sometype> stuff
FORVEC(stuff,i)
{
stuff[i].dosomething();
}
Run Code Online (Sandbox Code Playgroud)
我尽量避免使用宏,因为有一次我被一位经验丰富的程序员告知我尽可能避免使用宏.另外,我只是对如何使用函数(或者它需要的任何东西)感到好奇,因为这是我想要探索的领域.不是特别重新创建这个宏,虽然这将是一个良好的开端,但在定义它之后,我可以做类似的事情
mylooperfunction(param1,param2,param3)
{
//and now any code here would be run and looped in a way controlled by and defined in mylooperfunction
}
Run Code Online (Sandbox Code Playgroud)