您的位置:首页 > 移动开发 > IOS开发

iOS获取不重复随机数数组

2017-05-06 13:17 561 查看
方法一: 

 //每次点击之前,清空随机数数组,

    if(self.randomArr &&self.randomArr.count){

        [self.randomArrremoveAllObjects];

    }
==============

//获取到num个不同的随机数就返回随机数数组

-(NSMutableArray *)getDifferentRandomWithNum:(NSInteger )num{

    if(self.randomArr &&self.randomArr.count>0){

        [self.randomArrremoveAllObjects];

    }

    

    NSInteger random;

    for (;;) {

        

        random=arc4random_uniform(11);//随机数0-10

        NSLog(@"random--%tu",random);

        if(self.randomArr.count==0){

            [self.randomArraddObject:[NSNumbernumberWithInteger:random]];

           

           continue;//进行下一次循环

            

        }

        

        BOOL isHave=[self.randomArrcontainsObject:[NSNumbernumberWithInteger:random]];//判断数组中有没有

        if(isHave){

            

            continue;

        }

        [self.randomArraddObject:[NSNumbernumberWithInteger:random]];

        if(self.randomArr.count==num){

            returnself.randomArr;

        }

      

        

    }//self.randomArr是存储随机数的数组,如果是在按钮点击是获取随机数,在按钮点击的开始就要把数组清空,防止连续数组内容叠加

}

 方法二:   

   
//获取不同的随机数;还有一种思路;吧要生成的随机数范围放到数组中,然后生成随机数作为数组的index,然后每生成一个随机index后,吧对应的数组中的数删除;

    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: