0 및 많지 않은 1로 채워진 2D 배열 목록에서 특정 정수 (1)를 무작위로 가져 오려고합니다. 나는이를 만들고, 그것을 작동 :무작위로 2D 배열에서 특정 int 선택
while (wallsList[randomX, randomY] != 1)
{
randomX = randomizer.Next(34);
randomY = randomizer.Next(34);
}
그것의 단점, 그것은 단지 하나의 시간을 찾기 위해 너무 많은 시간이 걸리는 INT (1), 그리고 새로운 이후 1000 배 이상이 과정을 수행해야한다는의 매번 2D 배열에 1이 추가되고 제거됩니다. 프로그램을 시작하는 데 약 3 분이 걸립니다. 최적화 된 버전이 있는지 알고 싶습니다. 많은 것을 검색하여 1D 어레이에 대해서만이 솔루션을 찾았습니다. 시간 내 줘서 고마워.
왜 무작위로 검색해야합니까? 왜 그것을 선형 적으로 찾지 않습니까? – Gusman
최적화 된 버전은 임의의 인덱스에서 알려진 값을 검색하지 않는 것입니다. 이와 같이 무작위로 검색하는 좋은 이유가없는 한 그렇게하지 마십시오. –
귀하의 질문은 무엇입니까? 1을 더 빨리 얻는 방법? 왜 처음에 무작위로 벽을 찾으십니까? 이것은 의미가 없다. –