Список случайных чисел - arc4random - PullRequest
0 голосов
/ 08 февраля 2012

Я хочу создать массив чисел от 0 до 9 и хочу, чтобы они были рандомизированы

Значение, когда пользователь нажимает на UIButton, он создает NSMutableArray объектов 4,5,8,3,6,2,9,1,7,0

Когда пользователь снова нажимает на кнопку, он генерирует другой список из 0-9 случайных чисел и так далее.

У меня проблема с подпрограммой arc4random. Эта процедура будет выплевывать случайное число от 0 до 9 по одному за раз. Я должен сохранить это число, которое он выплевывает, и сохранить его в массиве. Затем я проверим, находится ли следующее случайное число, которое он выплевывает, уже в массиве или нет, если нет, то добавлю его в массив, иначе продолжу цикл, пока не найдет число, которого нет в моем массиве. Продолжайте делать это безумие, пока мой размер массива не станет 10.

Все хорошо для небольшого массива 0-9. Что делать, если мне нужно создать случайный массив, скажем, от 0 до 1000.

Я ищу эффективный метод, который не займет 5 лет. Есть мысли?

Ответы [ 2 ]

3 голосов
/ 08 февраля 2012

Согласно этому SO-ответу whats-the-best-way-to-shuffle-an-nsmutablearray , просто создайте список чисел 0..9, (или 0..1000, как угодно)в изменяемый массив, а затем случайным образом перемешать их.

0 голосов
/ 08 февраля 2012

Возможно, вы захотите использовать Random и Linq

Random random = new Random(0);
var myRandom = Enumerable.Repeat(0, n).Select(i => random.Next(0, 9));

где n - количество цифр, которое вы хотите

Надеюсь, что помогает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...