Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios NSArray中指标权重的选择_Ios_Random_Nsarray_Probability - Fatal编程技术网

Ios NSArray中指标权重的选择

Ios NSArray中指标权重的选择,ios,random,nsarray,probability,Ios,Random,Nsarray,Probability,给定一个对象的NSArray数组,例如[NSArray array WITH objects:A、B、C、D、E、nil],我可以使用for循环和arc4random函数(例如 NSArray *objArray = [NSArray arrayWithObjects:A, B, C, D, E, nil]; NSMutableArray *newArray = [NSMutableArray alloc] init]; for(int i=0;i<N;i++){ id randI

给定一个对象的NSArray数组,例如[NSArray array WITH objects:A、B、C、D、E、nil],我可以使用for循环和arc4random函数(例如

NSArray *objArray = [NSArray arrayWithObjects:A, B, C, D, E, nil];
NSMutableArray *newArray = [NSMutableArray alloc] init];
for(int i=0;i<N;i++){

   id randIndex = arc4random() % N;
   [newArray addObject:[objArray objectAtIndex:randIndex];
}

因此,上述权重将导致有更多的对象A,而没有对象E。谢谢。

对于一般情况,可能重复的请看这里。如果您将发生概率作为权重,a=1的概率是多少。这表示将始终选择一个。所有元素的概率之和应为1。
NSArray *weights = [NSArray arrayWithObjects:@1, @0.5, @1, @1, @1]; would mean:

A - 1
B - 0.5 // 0.5 times as likely to appear
C - 0.3 // 0.3 times as likely to appear
D - 0.1 // 0.1x times as likely to appear
E - 0   // Will never appear