본문 바로가기
자료구조-알고리즘/선형 자료구조

선형 자료구조: 배열(Array)

by vita12321 2023. 8. 19.
728x90
반응형

 

글에서는 선형 자료구조 하나인 배열(array) 대해 자세하게 알아보고, 자바를 사용하여 배열을 활용한 예제 코드를 작성해 보겠습니다.


1. 배열의 개념 원리

 

 

배열(array) 동일한 데이터 타입의 엘리먼트들이 연속된 메모리 공간에 저장되는 선형 자료구조입니다. 요소는 고유한 인덱스(0부터 시작) 가지며, 인덱스를 통해 빠르게 요소에 접근할 있습니다. 배열의 크기는 선언 결정되고 고정되어 변경이 어렵다는 단점이 있습니다. 데이터 삽입과 삭제 작업도 배열의 구조 불편할 있습니다.

 

  • 배열의 장점:
  • 메모리 공간의 효율성: 연속된 메모리 공간으로 배치되어 메모리 관리에 유리함
  • 인덱스를 이용해 빠른 데이터 접근: O(1) 시간 복잡도로 데이터 조회 가능

 

  • 배열의 단점:
  • 크기 변경이 어려움: 선언 시 결정된 크기로 고정되어 동적으로 크기를 조절하기 어려움
  • 데이터 삽입 및 제거에 높은 비용: 삽입 및 삭제 후 인덱스 재정렬 필요

2. 자바에서의 배열 사용법 주요 기능

 

자바에서 배열은 내장 기능으로 제공되며, 다양한 데이터 타입에 대한 배열을 쉽게 생성하고 다룰 있습니다. 배열 생성 초기화, 요소에 대한 접근 수정 방법과 기본 연산 등을 살펴보겠습니다.

 

  • 배열 선언 및 초기화:
int[] intArray = new int[5]; // 크기가 5인 정수 배열 선언 및 초기화

 

  • 배열 요소에 접근 및 수정:
intArray[0] = 1; // 첫 번째 요소에 1 할당

int element = intArray[1]; // 두 번째 요소를 element 변수에 저장

 

  • - 배열의 길이(크기) 확인:
int arrayLength = intArray.length; // 배열의 길이(크기)를 arrayLength 변수에 저장

 

  • 배열 원소 순회 방법:
for (int i = 0; i < intArray.length; i++) {

    System.out.println(intArray[i]); // 배열의 모든 요소 출력

}

3. 자바 배열 예제: 기본 정수 배열과 반복문 활용

 

다음 예제는 크기가 5 정수 배열을 생성하고 초기화한 , 반복문을 이용해 배열의 모든 요소를 출력하는 코드입니다.

public class ArrayExample {

 

    public static void main(String[] args) {

        int[] intArray = new int[5]; // 크기가 5인 정수 배열 선언 및 초기화

 

        for (int i = 0; i < intArray.length; i++) {

            intArray[i] = (i + 1) * 2; // 배열에 2의 배수 저장

        }

 

        // Enhanced for loop를 사용한 배열 요소 출력

        for (int number : intArray) {

            System.out.println(number);

        }

    }

}

4. 다차원 배열과 예제

 

자바에서는 다차원 배열(2차원, 3차원 ) 사용할 있습니다. 다음 예제는 2차원 정수 배열을 생성하고 값을 할당한 , 출력하는 코드입니다.

public class MultiDimensionalArrayExample {

 

    public static void main(String[] args) {

        int[][] matrix = new int[3][3]; // 3x3 크기의 2차원 정수 배열 선언 및 초기화

 

        // 2차원 배열에 값 할당

        for (int i = 0; i < 3; i++) {

            for (int j = 0; j < 3; j++) {

                matrix[i][j] = (i + 1) * (j + 1);

            }

        }

 

        // 2차원 배열 출력

        for (int i = 0; i < 3; i++) {

            for (int j = 0; j < 3; j++) {

                System.out.print(matrix[i][j] + " ");

            }

            System.out.println();

        }

    }

}

5. 결론

 

글에서는 선형 자료구조 하나인 배열(array) 대해 자세하게 살펴보았습니다. 배열은 간단한 구조와 빠른 데이터 접근 능력으로 인해 다양한 프로그래밍 상황에 유용하게 사용됩니다. 그러나 크기 변경이 어렵고 데이터 삽입과 삭제 작업이 불편하다는 단점이 있어, 상황에 따라 다른 선형 자료구조를 사용하는 것이 좋을 것입니다. 이해와 숙련을 바탕으로 배열을 효과적으로 활용하여 원활한 프로그래밍을 진행할 있습니다.

728x90
반응형