PHP 편집자 Xiaoxin이 Go 언어에서 짧은 배열의 출력 순서를 무작위로 지정하는 알고리즘에 대한 기사를 가져왔습니다. Go 언어에서는 짧은 배열의 출력 순서가 정의되지 않습니다. 이는 Go 언어의 동시성 특성 때문입니다. 이 기사에서는 짧은 배열의 출력 순서를 무작위화하여 프로그램이 실행될 때마다 출력 순서가 달라지도록 하는 난수 생성기 기반의 알고리즘을 소개하여 프로그램의 유연성과 가변성을 높입니다. 이 기사를 읽으면 독자는 Go 언어에서 짧은 배열의 출력 순서를 무작위로 지정하고 이를 자신의 프로젝트에 적용하는 방법을 배울 수 있습니다.
이 질문과 많은 중복 답변의 주요 차이점은 입력 배열이 요소가 3개로 매우 짧다는 것입니다. --
내가 int
세트를 주문했다고 가정해 보겠습니다. 배열의 크기는 3(또는 그 이상)입니다. 순서를 무작위로 지정하고 새 배열을 반환해야 합니다. 순수한 알고리즘 질문이지만 선호되는 답변 언어는 go입니다.
random.shuffle
입니다. rand.shuffle
이어야 합니다. 하지만 내 코드는 다음과 같습니다.
https://go.dev/play/p/cvu8_q96-9f
으아악이것은 내 테스트 실행 결과 중 하나입니다.
으아악이건 그다지 무작위적인 것 같지는 않습니다.
짧은 3개 요소 배열에 대한 더 나은 무작위화를 위한 좋은 아이디어가 있습니까?
그런데,
rand.shuffle
와 매우 유사할 것이라고 생각합니다. 응? 셔플 기능에서 기본 기능으로 random.seed
이동하세요. Prng는 프로그램당 한 번만 시드될 수 있으며 시드가 아닌 생성기의 상태 전환을 통해 무작위성의 성공적인 모방이 달성됩니다. prng의 작동 방식을 실제로 이해하고 재현성과 같은 이유로 프로세스를 명시적으로 제어하려고 시도하지 않는 한 다시 시드하지 마십시오.
다음과 같이 코드를 간단하게 수정하면 요구 사항을 충족할 수 있습니다.
으아악이 결과는 다음과 같습니다:
으아악위 내용은 Go에서 짧은 배열의 출력 순서를 무작위로 지정하는 알고리즘의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!