0C中如何產生多個隨機互不相同的數.

zhanjun717 8年前發布 | 714 次閱讀 Objective-C 隨機數

-(NSArray *)randomArray

{

    //隨機數從這里邊產生

    NSMutableArray *startArray=[NSMutableArray array];

    for (int i = 1; i<34; i++) {

        [startArray addObject:@(i)];

    }

    //隨機數產生結果

    NSMutableArray *resultArray=[[NSMutableArray alloc] initWithCapacity:0];

    //隨機數個數

    NSInteger m=6;

    for (int i=0; i<m; i++) {

        int t=arc4random()%startArray.count;

        resultArray[i]=startArray[t];

        startArray[t]=[startArray lastObject]; //為更好的亂序,故交換下位置

        [startArray removeLastObject];

    }

    return resultArray;

}

//題目為產生6個 1-33的數.實現思路為   將得到的數從容器數組中以下角標的形式去除.

 本文由用戶 zhanjun717 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!