본문 바로가기
자료구조

[자료구조] 다차원 배열이란?

by 김아잉 2024. 4. 4.
728x90

• 배열

- 첨자의 개수에 따라 1차원 배열, 2차원 배열, 3차원 배열로 구분함

 

• 배열의 연산

- 사전에 자료가 저장될 공간을 미리 확보해 두어야 함

- 처음에 설정한 배열의 크기보다 처리할 자료의 개수가 많으면

  저장 공간이 부족하기 때문에 모든 자료를 다 처리할 수 없음

 

• 자료 삽입

- 저장 공간이 가득 차 있는 경우 자료의 추가 삽입은 불가능함

- 여유 공간이 있어도 삽입하려는 위치에 따라 방법이 달라짐

 ‣ 배열의 끝에 추가

  - 배열 공간 내에 새로운 자료를 추가할 때에는 가장 마지막으로

    저장된 자료의 다음 위치에 데이터를 추가함

 ‣  배열의 중간에 삽입 

  - 삽입하려는 위치에는 이미 다른 자료가 저장되어 있을 수 있기

     때문에 먼저 저장된 자료를 오른쪽으로 한 칸씩 이동시켜야 함

  - 이후 삽입하고자 하는 위치에 빈 공간이 생기면 삽입하려는 자료 입력

 

• 자료 삭제

- 데이터를 삽입할 때와 마찬가지로 삭제하려는 자료의 위치에 따라 방법이 달라짐

 ‣ 배열의 끝 원소 삭제

  - 맨 마지막 위치에 있는 원소를 삭제하면 됨

 ‣ 배열의 중간 원소 삭제

  - 삭제하고 난 후 삭제된 자료의 오른쪽 자료부터 한 칸씩 앞으로 이동해야 함


• 2차원 배열

- 행(가로)과 열(세로)로 이루어진 배열을 말함

- 2차원 배열을 선언할 때는 두 개의 첨자가 필요함

- 2차원 배열이 실제로 메모리에 저장될 때는 1차원의 형태로 표현됨

 ‣   2차원 배열을 표현하는 방법

  - 행 우선 순서(row major order)

    - 첫 번째 행의 인덱스 번호를 먼저 쓰고 열 번호를 1씩 증가시켜 마지막

       열까지 입력되면 행 번호를 1씩 증가시켜 이와 같은 과정을 반복함

  - 열 우선 순서(column major order)

    - 첫 번째 열 번호를 먼저 쓴 다음 행 번호를 1씩 증가시켜 마지막 행까지

       입력이 완료되면 열 번호를 1씩 증가시켜 나가는 방식

 

• 3차원 배열

- 행과 열, 번호로 이루어진 배열을 말함

728x90

댓글