我有一个整数数组,我希望将这个数组拆分成更小的整数数组,然后将这些较小的数组放入一个新数组中,将这个新数组洗牌,然后用洗牌整数重新填充原始数组。结果将是原始数组的洗牌版本,但每个单独的项目都不会被洗牌,而是原始的块将被洗牌。
我可以用Java,C#这样做,但是对Objective-C来说是新手,所以任何例子都会有所帮助。
这是我到目前为止所拥有的:
NSMutableArray *chunks = [[NSMutableArray alloc] init];
for(int x = 0; x < [rawData count]; x += 400){
NSMutableArray *chunk = [[NSMutableArray alloc] init];
for(int y = 0; y < 400; y++){ //chunks of 400 items
[chunk addObject:[NSNumber numberWithInt:rawData[x + y]]];
}
count ++;
}
//shuffle chunks
int index = 0;
for(int i = 0; i < [chunks count]; i ++ ){
for (int y = 0; y < 400; y++) {
//how do I put the chunks chunk back into the rawData[index]??
}
}
答案 0 :(得分:0)
这就是你要找的东西(请注意你在第二个循环中迭代到400 ...你必须在'chunk.count'处停止):
for(int i = 0; i < [chunks count]; i ++ ){
NSMutableArray *chunk = [chunks objectAtIndex:i];
for (int y = 0; y < [chunk count]; y++) {
[rawData replaceObjectAtIndex:i*400+y withObject:[chunk objectAtIndex:y]];