Changeset 4972

Show
Ignore:
Timestamp:
10/18/07 21:16:28 (9 months ago)
Author:
morris
Message:

Add -shuffle, -shuffledArray

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • WiredAdditions/trunk/NSArray-WIAdditions.h

    r4745 r4972  
    4242- (NSArray *)subarrayFromIndex:(NSUInteger)index; 
    4343- (NSArray *)reversedArray; 
     44- (NSArray *)shuffledArray; 
    4445 
    4546- (NSNumber *)minimumNumber; 
     
    5354- (void)moveObjectAtIndex:(NSUInteger)from toIndex:(NSUInteger)to; 
    5455- (void)reverse; 
     56- (void)shuffle; 
    5557 
    5658@end 
  • WiredAdditions/trunk/NSArray-WIAdditions.m

    r4745 r4972  
    167167 
    168168 
     169- (NSArray *)shuffledArray { 
     170        NSMutableArray          *array; 
     171        NSUInteger                      i, count; 
     172         
     173        array = [self mutableCopy]; 
     174        count = [array count]; 
     175         
     176        for(i = 0; i < count; i++) 
     177                [array moveObjectAtIndex:i toIndex:random() % count]; 
     178         
     179        return [array autorelease]; 
     180} 
     181 
     182 
     183 
    169184#pragma mark - 
    170185 
     
    254269} 
    255270 
     271 
     272 
     273- (void)shuffle { 
     274        [self setArray:[self shuffledArray]]; 
     275} 
     276 
    256277@end