퀴즈 질문으로로드 한 NSArray를 무작위로 지정해야하지만 특정 순서로 요소를 유지해야합니다.randomize NSArray
0
A
답변
0
NSArray는 변경 불가능한 개체입니다. 즉, 요소의 순서를 변경할 수 없습니다. 나는 네가 무엇을 얻고 있는지 생각해. 이 배열의 요소를 무작위로 선택하려면 데이터 구조의 일부 기능을 씁니다. 이미 액세스 한 요소를 추적하여 다시 선택하지 않아야합니다.
NSMutableArray 하위 유형을 사용하여 배열 복사본을 만들 수도 있습니다. 질문이 선택되면 배열에서 제거하십시오 (배열이 변경 가능하기 때문에이 작업을 수행 할 수 있습니다)
난수에 C 함수를 사용합니다. rand() 및 srand()를 참조하십시오.
0
질문을 올바르게 이해하면 질문의 배열이 있는데, 그 중 일부만 (아마도 고정 된 크기일까요?) 표시하고 싶지만 그 하위 집합을 유지해야합니다. 원래 배열 에서처럼?
N 개의 질문을 갖고 있으며 M 개를 무작위로 선택한다고 가정 해 보겠습니다. 원래 배열에 인덱스를 저장하는 요소 배열 [0 .. (N - 1)]을 만들 수 있습니다. 그런 다음 Knuth/Fisher-Yate's algorithm을 사용하여이 배열을 뒤섞고 첫 번째 M 요소를 정렬 한 다음 첫 번째 M 인덱스를 사용하여 원래 배열을 조회합니다.
관련 문제
- 1. VB6 Randomize to C#
- 2. NSArray 정렬 및 NSArray 반환?
- 3. 값이있는 NSArray
- 4. 표시있는 NSArray
- 5. NSArray, UITableView
- 6. NSArray SIGABRT
- 7. 날짜 NSArray 정렬
- 8. C 타입의 NSArray?
- 9. nsarray in uilabel
- 10. NSArray mutability 및 arrayByAddingObject
- 11. IOS : nsarray 레이아웃의 문제점
- 12. NSArray 대 배열
- 13. xcode : NSArray slice method?
- 14. NSArray 요소와 NSString의 비교
- 15. NSArray containsObject 메서드
- 16. NSDictionary 개체의 NSArray 검색
- 17. 안전한 NSArray 액세스
- 18. 있는 NSArray 수명주기
- 19. NSARRAY 코딩 오류
- 20. NSArray 내 NSArrays
- 21. NSArray - 메모리 누출 방법?
- 22. 단순 : NSArray 객체가 Double으로?
- 23. NSArray sortedArrayUsingSelector memory leak
- 24. NSArray 객체의 NSString 값
- 25. Objective-C NSArray
- 26. UITableView 및 NSArray 도움말
- 27. 여러 NSArray 열거 형
- 28. NSArray componentsSeperatedByString Sigabrt
- 29. 필터 NSArray iphone
- 30. NSArray of int []
Objective-C의 경우 rand() 및 srand() 대신 arc4random()을 제안합니다. –