2차원 배열 예제

내가 말했듯이 그것은 배열의 배열첫 번째와 마지막 곱슬 버팀대배열을 보여줍니다. 1차원 배열의 모든 요소를 살펴보기 위해 for 루프를 사용합니다: 보다 일반적인 2D 배열 처리의 예로, 1970년 수학자 존 호튼 콘웨이가 발명한 존 콘웨이의 삶의 게임이라는 아주 잘 알려진 예를 살펴보겠습니다. 이 인생의 게임은 정말 게임이 아닙니다 (때로는 자체를 재생하는 «제로 인승 게임»이라고불리지만). 그것은 «2 차원 셀룰러 오토마톤»입니다. 이것은 단지 명확하고 결정적인 규칙에 따라 시간이 지남에 따라 콘텐츠가 변경되는 셀의 격자임을 의미합니다. Life에서 세포는 «살아 있는» 또는 «죽은» 두 가지 콘텐츠만 가질 수 있습니다. 2D 배열을 사용하여 그리드를 나타내고 배열의 각 요소는 그리드에서 하나의 셀의 내용을 나타냅니다. 게임에서는 각 셀이 살아 있거나 죽은 것으로 표시되는 초기 그리드가 설정됩니다. 그 후, 게임은 «자체 재생됩니다.» 그리드는 일련의 시간 단계를 통해 진화합니다. 각 시간 단계에서 그리드의 내용은 간단한 규칙에 따라 이전 시간 단계의 내용에 의해 완전히 결정됩니다: 그리드의 각 셀은 8개의 이웃(가로, 세로 및 대각선)을 보고 그 이웃의 수를 계산합니다. 살아. 그런 다음 다음 단계의 셀 상태는 규칙에 의해 결정됩니다 : 지금은 2 차원 배열을 초기화하는 방법을 걱정하지 마십시오. 이 프로그램은 사용자가 입력한 요소를 2d 배열에 저장하는 방법과 2차원 배열의 요소를 표시하는 방법을 보여 줍니다.

배열의 경우, 우리의 구식 1 차원 배열 다음과 같습니다: 표 형식의 2D 배열의 표현: 2 차원 배열 `x` 행 과 `y` 열 행 번호 범위 0에서 (x-1) 및 열 번호 범위테이블로 볼 수 있습니다. 0에서 (y-1)까지의 s. 3행과 3개의 열이 있는 2차원 배열 `x`는 다음과 같습니다. 대칭 행렬 M은 행 수가 열 수와 같고 모든 i 및 j에 대해 M[j][i]와 동일한 M[i][j]를 만족시키는 2차원 배열입니다. 이 평등 때문에 i >= j에 M[i][j]만 저장하면 됩니다. 우리는 «삼각형 행렬»에 데이터를 저장할 수 있습니다 :이 모든 것을 감안할 때, 당신은 완전한 getLegalMoves() 방법을 이해하는 위치에 있어야합니다. 1차원 배열, ArrayLists 및 2차원 배열: 여기 첫 번째 루프는 행 값을 검색하기 위한 것이므로 최대 2차원 배열의 행 값만 실행해야 하므로 이 장을 마무리하는 좋은 방법입니다. 4입니다.