#import <Foundation/Foundation.h>

 

@interface NSArray (DERandomization)

 

+ (NSArray *)randomArrayFromArray:(NSArray *)sortedArray;

 

@end

 

#import "NSArray+DERandomization.h"

@implementation NSArray (DERandomization)

 

+ (NSArray *)randomArrayFromArray:(NSArray *)sortedArray {

NSMutableArray *toRandomize = [sortedArray mutableCopy];

NSMutableArray *randomArray = [[[NSMutableArray alloc] init] autorelease];

NSUInteger arraySize = toRandomize.count;

NSUInteger randomIndex;

while(arraySize > 0) {

//Grab a random object from toRandomize and place it in first index of randomArray

randomIndex = arc4random() % arraySize;

[randomArray insertObject:[toRandomize objectAtIndex:randomIndex] atIndex:0];

[toRandomize removeObjectAtIndex:randomIndex];

arraySize = toRandomize.count;

}

[toRandomize release];

return randomArray;

}

 

@end

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-04
猜你喜欢
  • 2021-07-10
  • 2021-07-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-02
  • 2021-06-14
相关资源
相似解决方案