如何在Objective-C [重复]中随机移动数组的元素
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Objective-C [重复]中随机移动数组的元素相关的知识,希望对你有一定的参考价值。
假设我有一个如下数组。
shuffleArray = [[NSMutableArray alloc] initWithObjects:@"A",@"B",@"C",@"D",@"E", nil];
并且我想如下随机改变数组元素的位置:
shuffleArray = [[NSMutableArray alloc] initWithObjects:@"C",@"A",@"B",@"E",@"D", nil];
那我该怎么办?
答案
-(NSArray *)shuffleme
{
NSMutableArray *array = [NSMutableArray arrayWithCapacity:[self count]];
NSMutableArray *array1 = [self mutableCopy];
while ([array1 count] > 0)
{
int temp = arc4random() % [array1 count];
id objectToMove = [array1 objectAtIndex:temp];
[array addObject:objectToMove];
[array1 removeObjectAtIndex:temp];
}
[array1 release];
return array;
}
希望,对您有帮助。.>
另一答案
-(void)changeObjectAtIndex:(int)index1 index2:(int)index2 array:(NSMutableArray *)array
{
id objectAtIndex1=[array objectAtIndex:index1];
[array insertObject:[array objectAtIndex:index2] atIndex:index1];
[array insertObject:id atIndex:index2];
}
以上是关于如何在Objective-C [重复]中随机移动数组的元素的主要内容,如果未能解决你的问题,请参考以下文章
Python:列表和随机。如何在 0 和 [列表中的字符串数] 之间选择随机数? [复制]