• 배열
- 첨자의 개수에 따라 1차원 배열, 2차원 배열, 3차원 배열로 구분함
• 배열의 연산
- 사전에 자료가 저장될 공간을 미리 확보해 두어야 함
- 처음에 설정한 배열의 크기보다 처리할 자료의 개수가 많으면
저장 공간이 부족하기 때문에 모든 자료를 다 처리할 수 없음
• 자료 삽입
- 저장 공간이 가득 차 있는 경우 자료의 추가 삽입은 불가능함
- 여유 공간이 있어도 삽입하려는 위치에 따라 방법이 달라짐
‣ 배열의 끝에 추가
- 배열 공간 내에 새로운 자료를 추가할 때에는 가장 마지막으로
저장된 자료의 다음 위치에 데이터를 추가함
‣ 배열의 중간에 삽입
- 삽입하려는 위치에는 이미 다른 자료가 저장되어 있을 수 있기
때문에 먼저 저장된 자료를 오른쪽으로 한 칸씩 이동시켜야 함
- 이후 삽입하고자 하는 위치에 빈 공간이 생기면 삽입하려는 자료 입력
• 자료 삭제
- 데이터를 삽입할 때와 마찬가지로 삭제하려는 자료의 위치에 따라 방법이 달라짐
‣ 배열의 끝 원소 삭제
- 맨 마지막 위치에 있는 원소를 삭제하면 됨
‣ 배열의 중간 원소 삭제
- 삭제하고 난 후 삭제된 자료의 오른쪽 자료부터 한 칸씩 앞으로 이동해야 함
• 2차원 배열
- 행(가로)과 열(세로)로 이루어진 배열을 말함
- 2차원 배열을 선언할 때는 두 개의 첨자가 필요함
- 2차원 배열이 실제로 메모리에 저장될 때는 1차원의 형태로 표현됨
‣ 2차원 배열을 표현하는 방법
- 행 우선 순서(row major order)
- 첫 번째 행의 인덱스 번호를 먼저 쓰고 열 번호를 1씩 증가시켜 마지막
열까지 입력되면 행 번호를 1씩 증가시켜 이와 같은 과정을 반복함
- 열 우선 순서(column major order)
- 첫 번째 열 번호를 먼저 쓴 다음 행 번호를 1씩 증가시켜 마지막 행까지
입력이 완료되면 열 번호를 1씩 증가시켜 나가는 방식
• 3차원 배열
- 행과 열, 번호로 이루어진 배열을 말함
'자료구조' 카테고리의 다른 글
[자료구조] 큐(Queue) (0) | 2024.04.18 |
---|---|
[자료구조] 스택이란? (0) | 2024.04.04 |
[자료구조] 배열이란 무엇인가? (0) | 2024.04.03 |
[자료구조] 동영상 데이터의 표현 (2) | 2024.03.22 |
[자료구조] 소리 데이터의 표현 (0) | 2024.03.22 |
댓글