x, y 좌표 평면 x를 생각하면 y는 정렬 된 쌍의 공통 표기법입니다.하지만 2 자리 배열을 사용하면 myArray [row] [col] 및 y 행이 있습니다. x. 그 반대인가, 아니면 단지 그것에 대해 잘못 생각하고 있는가? 나는 그것이 myArray [x] [y]처럼 보일 것이라고 생각하고 있었지만 실제 행과 열을 원할 경우 (gameboard처럼) 잘못되었다. 행렬 보드를 실제로 흉내내는 것은 myArray [y] [x]가 아닐까? ?2 차원 배열의 x, y 및 row, col 특성은 거꾸로 있습니까?
답변
당신은 맞습니다, 그리고 그것은 약간 뒤로 느낍니다. 행 번호는 y 좌표이고 열 번호는 x 좌표이며, 우리는 보통 row, col를 작성하지만 보통 x, y도 씁니다.
배열을 [y] [x] depends 또는 [x] [y]로 쓸지 여부는 주로 메모리의 레이아웃을 얼마나 신경 써야하는지 (사용하는 경우 사용하는 언어) . 행이나 열에서 독립적으로 작동 할 수있는 함수/메서드를 작성할지 여부를 지정합니다.
C/C++ 코드를 작성하는 경우 배열은 Row Major Order에 저장됩니다. 즉, 단일 행의 데이터를 1 차원 배열로 처리 할 수 있습니다. 그러나 하나의 데이터 열은 그럴 수 없습니다. 올바르게 기억하면 VB는 열 주요 순서를 사용하므로 언어가 다릅니다. 나는 C#이 행의 주요 순서가 아니기 때문에 놀랄 것이다. 그러나 나는 모른다.
사실, 귀하에게 달려 있습니다. 당신의 질문에는 생각할 권리가 없습니다. 예를 들어, 일반적으로 1 차원 배열을 셀의 행으로 생각합니다. 그래서, 제 마음에 그것은 배열 [열] [행]입니다. 그러나 그것은 당신에게 달려 있습니다 ...
나는 많은 의견이 있습니다. 최종선은 일관성이있는 한 실제로 중요하지 않습니다. 동일한 데이터를 사용하려는 다른 라이브러리 또는 유사 제품이있는 경우 더 쉽게 통합 할 수 있도록 모든 작업을 수행하는 것이 좋습니다.
엄격하게 자신의 코드에있는 경우 편안하게 느끼십시오. 내 개인적인 취향은 myArray [y] [x]를 사용하는 것입니다. 크기가 큰 경우 동시에 액세스 할 항목을 동시에 유지하는 것이 성능상의 이점이 될 수 있습니다. 그러나 나는 전혀 늦게까지 그 일에 대해 걱정하지 않을 것입니다.
행을 x 축의 요소로 생각한 다음 2 차원 배열을 y 축의 행 요소로 묶은 다음 행을 조작하려면 y를 사용하는 것이 일반적입니다. x (특정 행 x가 항상 동일하고 y가 인덱스와 함께 변경됨)를 알고 x를 사용하여 여러 행 요소 (행이 세로로 쌓여 있고 특정 y 값에 각각 쌓여 있음)를 조작합니다.
데이터를 배열 ([x] [y] 또는 [y] [x])에 저장하는 방법은 중요하지 않습니다. 문제는 배열을 항상 연속적으로 루프하는 것입니다. Java 2 차원 배열은 기본적으로 두 번째 배열을 저장하는 1 차원 배열입니다 (예 : [y] [x]의 경우 [y]의 긴 배열을 가지며 각 y에는 대응하는 [x] 배열이 있음). y의 라인).
효율적으로 전체 배열을 실행하려면 배열에서 검색을 계속 수행 할 필요가 없도록 한 번에 y- 배열 -xarrays에서 다른 y- 배열로 건너 뛰는 방식으로 데이터에 액세스하는 것이 중요합니다. 배열 배열 (array-of-xarrays). 당신이 원하는 것은 하나의 y 요소에 접근하고 그 안에있는 모든 x에 접근하여 다음 y 요소로 이동하는 것입니다.
그래서 Array [y] [x] 상황입니다.
for (int ys = 0; ys < Array[y].length; ys++)
for (int xs = 0; xs < Array[y][x].length; xs++)
{
do your stuff here
}
그리고 물론
가 매 사이클마다 값들을 얻는 데 방지 루프의 안팎 Array.lengths 미리 할당 : 항상 외부 루프의 첫 번째 변수와 내부 루프의 두 번째있다.- 1. 자바 : 2 차원 배열의 행과 열
- 2. x 및 y는 거꾸로 RGL와
- 3. 2 차원 배열의 한 차원 참조
- 4. 2 차원 배열의 빠른 serarch
- 5. 2 차원 배열의 모든 가능성
- 6. 2 차원 배열의 열 확인
- 7. 2 차원 배열을 2 차원 배열로 변환
- 8. Ruby - 2 차원 배열의 정수로 문자 매핑
- 9. 어떻게 Perl에서 2 차원 배열을 인쇄 할 수 있습니까?
- 10. 2 차원 배열 행 추가
- 11. 2 차원 배열의 초기화는 어떻게 작동합니까?
- 12. Matlab에 2 차원 '지도'가 있습니까?
- 13. Java에서 2 차원 배열의 동등성 테스트
- 14. 2 차원 배열의 객체가 null인지 확인합니다.
- 15. PHP에서 2 차원 행렬 만들기
- 16. Java에서 2 차원 배열의 일부 요소 제거
- 17. 2 차원 배열의 주소 값을 보유하는 해시
- 18. 멋지게 2 차원 배열의 특정 요소를 액세스하십시오.
- 19. 2 차원 배열의 무작위 요소를 똑같이 선택하십시오.
- 20. 어떻게 2 차원 배열을 2 차원 배열
- 21. x 및 y 벡터를 meshgrid로 변환합니다.
- 22. C++ 2 차원 배열 질문
- 23. <COL 폭 = "X *"/>
- 24. 어떻게 2 차원 배열로 산점도를 만들 수 있습니까?
- 25. 포인터, 2 차원 배열의 동적 메모 allocat 샘플
- 26. 배열로부터 2 차원 행렬 생성하기 (자바)
- 27. NumPy와 - 2 차원 배열 인덱싱
- 28. numpy 재 배열의 (일부) 2 차원 배열로 변환 하시겠습니까?
- 29. 2 차원 배열 형식 지정 및 인쇄 (VB6)
- 30. 배열의 2 변수
나는 부모님에게 같은 질문을하는 것을 발견했습니다. 표준이 없다는 것을 알면 좋습니다. –