[자료구조] 배열

고운·2023년 5월 23일
0

자료구조

목록 보기
3/3

배열은 순서를 가진 여러 개의 원소들을 모아 놓은 자료구조이다. 배열에서 원소들의 자료형은 같고 각 원소들에 할당되는 메모리 공간의 크기 또한 같다.

배열의 주요한 특징 중 하나는 순서를 가진다는 것이다. 이 순서를 추상적으로 나타내기 위해 인덱스를 사용한다. 인덱스는 개발자에게 보여지는 추상화된 값으로서 마치 아파트에서 집집마다 201호, 203호, 301호 같은 식으로 호수가 매겨져 있는 것과 비슷하게 원소에 순서대로 번호를 부여해서 순서를 나타내주는 역할을 한다. 실제 컴퓨터 메모리에 저장되는 주소와는 같지 않다.

배열은 인덱스와 값으로 구성된다. 인덱스는 원소의 순서를 나타내는 역할을 하며 원소마다 할당된다. 인덱스는 0부터 시작한다. 첫 번째 원소에는 0, 두 번째 원소에는 1, 세 번째 원소에는 2, ... 와 같이 1씩 간격을 두고 부여한다. 인덱스를 통해 원소가 몇 번째에 위치하는지 나타낼 수 있다.

{1, 5, 33, 20}

예를 들어 위와 같은 정수형의 배열이 있다면, 1의 인덱스는 0, 5의 인덱스는 1, 33의 인덱스는 2, 20의 인덱스는 3이다.

인덱스의 순서와 실제 메모리에 원소들이 저장되는 주소 값의 순서는 같다. 인덱스는 추상화된 값으로서, 개발자는 각 원소의 메모리의 주소를 알 필요 없이 인덱스로 원소값에 직접 접근할 수 있다. 컴퓨터 메모리에는 일정한 간격으로 배열 순서에 따라 원소값이 저장된다.

일차원 배열은 각 원소 당 하나의 인덱스만 가진다. 이차원 배열은 각 원소 당 행과 열, 두 개의 인덱스를 가진다. 일차원 배열 a의 3번째 원소는 a[3]과 같이 나타낸다.
이차원 배열 b의 0행 1열에 해당하는 원소는 b[0][1]과 같이 나타낸다.

배열의 크기는 배열에 들어있는 원소의 개수이다. 이차원 배열의 크기를 계산할 때는 행의 수와 열의 수를 곱해주면 된다.

profile
백엔드 개발자

0개의 댓글