728x90
배열(Array)이란?
메모리의 연속 공간에 값이 채워져있는 형태의 자료구조이다.
배열의 값은 인덱스를 통해 접근할 수 있고, 선언한 자료형의 값만 저장할 수 있다.
배열 생성·이용하기
int[] nums = {1,2,3,4};
int[] arr = new int[4];
첫 줄처럼 배열 생성 시 배열에 값을 넣어 생성해 줄 수 있고, 두 번째 줄처럼 배열의 길이를 설정해 생성할 수도 있다.
두 번째 줄과 같이 생성한 경우에는 값을 나중에 대입해준다.
배열 생성 시에는 int, String 등 배열이 어떤 자료형인지를 선언해줘야 한다.
배열의 값을 넣어주는 방법은 특정 인덱스에 해당하는 값을 직접 넣어주거나 반복문을 이용해 넣어주면 된다.
for문을 이용해 arr에 {1, 2, 3, 4}를 대입하는 방법은 아래와 같다.
//i는 0부터 arr의 길이만큼으로 설정
//arr[i]에 i+1값이 대입되게 함
for(int i=0; i<arr.length; i++){
arr[i] = i+1;
}
배열의 인덱스를 통해 해당 인덱스 위치의 값에 접근할 수 있다.
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
배열의 특징
배열의 특징을 정리하면 아래와 같다.
- 인덱스를 이용해 값에 접근할 수 있다.
- 새로운 값을 삽입하거나 특정 인덱스의 값을 삭제하기 어렵다.
- 배열 선언 시 크기를 지정할 수 있고, 선언 후에는 크기를 늘리거나 줄일 수 없다
다음으로는 리스트에 대해 정리해보겠다.
리스트란?
값과 포인터를 묶은 노드를 포인터로 연결한 자료구조이다.
리스트의 특징
리스트의 특징을 정리하면 아래와 같다.
인덱스가 없어 값에 접근하려면 Head포인터부터 순서대로 접근해야 한다.
접근 속도가 느리다.
포인터로 연결되어 있어 데이터 삽입, 삭제 연산 속도가 빠르다.
선언할 때 리스트의 크기를 지정하지 않아도 된다.
배열에 비해 구조가 복잡하다.
(리스트는 좀 더 공부해서 설명 보충하기로!)
728x90
'알고리즘 자료구조' 카테고리의 다른 글
[자료구조와 함께 배우는 알고리즘 입문] 6. 정렬 알고리즘(3) (0) | 2023.07.18 |
---|---|
[자료구조와 함께 배우는 알고리즘 입문] 6.정렬 알고리즘(2) (0) | 2023.07.12 |
[자료구조와 함께 배우는 알고리즘 입문] 6. 정렬 알고리즘 (1) (0) | 2023.07.07 |
[자료구조와 함께 배우는 알고리즘 입문] 5. 재귀 알고리즘 (2) (0) | 2023.07.05 |
[자료구조와 함께 배우는 알고리즘 입문] 5. 재귀 알고리즘 (1) (0) | 2023.07.05 |