밍쎄의 코딩공간

배열 본문

개념정리

배열

밍쎄 2023. 8. 12. 17:44

1차원 배열 (One-Dimensional Arrays):

1차원 배열은 값들의 선형 컬렉션으로, 모든 요소는 동일한 유형의 데이터를 가집니다. 배열의 각 요소는 0부터 시작하는 인덱스로 접근할 수 있습니다. 배열의 크기는 생성할 때 결정되며, 크기를 변경할 수 없습니다.

// 1차원 배열 선언과 초기화
int[] numbers = new int[5]; // 5개의 정수 요소를 갖는 배열 생성
numbers[0] = 10; // 첫 번째 요소에 값 할당
numbers[1] = 20;
numbers[2] = 30;
numbers[3] = 40;
numbers[4] = 50;

// 또는 배열 선언과 초기화를 한 줄로 처리
int[] numbers = {10, 20, 30, 40, 50};

// 배열 요소에 접근
int value = numbers[2]; // 30

// 배열의 길이 (크기) 조회
int length = numbers.length; // 5

2차원 배열 (Two-Dimensional Arrays):

2차원 배열은 행과 열로 구성되며, 행과 열에 대한 두 개의 인덱스로 접근할 수 있습니다. 2차원 배열은 행렬과 같은 구조를 표현하는 데 유용합니다.

// 2차원 배열 선언과 초기화
int[][] matrix = new int[3][4]; // 3행 4열의 배열 생성
matrix[0][0] = 1; // 첫 번째 행, 첫 번째 열 요소에 값 할당
matrix[0][1] = 2;
// ...

// 또는 배열 선언과 초기화를 한 줄로 처리
int[][] matrix = {
    {1, 2, 3, 4},
    {5, 6, 7, 8},
    {9, 10, 11, 12}
};

// 배열 요소에 접근
int value = matrix[1][2]; // 7

// 배열의 행과 열 길이 조회
int rows = matrix.length; // 3 (행의 개수)
int columns = matrix[0].length; // 4 (첫 번째 행의 열의 개수)
  • 데이터 저장 및 관리: 동일한 유형의 데이터를 순차적으로 저장하고 관리하는 데 사용됩니다. 
  • 순회 및 접근: 데이터를 순회하거나 특정 요소에 접근할 때 활용됩니다. 데이터 정렬: 데이터를 정렬하는 데 사용되며, 다양한 정렬 알고리즘이 배열을 활용합니다. 
  • 데이터 정렬: 데이터를 정렬하는 데 사용되며, 다양한 정렬 알고리즘이 배열을 활용합니다.
  • 통계 및 계산: 숫자 배열을 사용하여 통계 정보를 계산하거나 계산 작업을 수행합니다. 
  • 2차원 배열로 행렬 표현: 행렬을 표현하거나 다양한 작업에 활용됩니다.
  • 다차원 데이터 구조 표현: 그래프, 테이블, 다차원 공간 등을 표현하는 데 사용됩니다.
  • 검색 및 찾기: 배열에서 특정 값이나 패턴을 검색하거나 찾는 데 활용됩니다.
  • 스택과 큐 구현: 스택(Stack)이나 큐(Queue)와 같은 추상 데이터 타입을 구현하는 데 사용됩니다.
  • 문자열 다루기: 문자열 조작 작업을 위해 문자 배열로 변환하여 활용됩니다.
  • 다양한 알고리즘 구현: 정렬, 검색, 그래프 탐색 등 다양한 알고리즘을 구현할 때 사용됩니다.

 

배열은 프로그래밍에서 매우 중요한 데이터 구조로, 다양한 문제를 효율적으로 해결하는 데 활용됩니다.

하지만 배열의 크기가 고정되어 있고 삽입 및 삭제 작업에 제한이 있는 단점도 있으므로, 상황에 맞는 데이터 구조 선택이 중요합니다.

728x90

'개념정리' 카테고리의 다른 글

깊이 우선 탐색 ( DFS )  (0) 2023.08.13
그리디(Greedy)  (0) 2023.08.13
개념정리 - CRUD  (0) 2023.08.06
개념정리 - Trie  (0) 2023.08.06
데이터베이스 - 01  (0) 2023.08.01