250x250
반응형
Notice
Recent Posts
Recent Comments
Link
N
(TIL Day03-1)자료구조-배열 본문
728x90
반응형
배열
- 순차 리스트
- 연관된 데이터를 연속적인 형태로 구성된 구조를 가진다.
- 배열에 포함된 원소는 순서대로 번호(index)가 붙으며, 0부터 시작한다.
- 고정된 크기를 가지며, 일반적으로는 동적으로 크기를 늘릴 수 없다.(C, C++..)
- 그러나 JS와 같은 스크립트 언어는 동적으로 크기가 증감된다.
- 원하는 원소의 번호(index)를 알고 있다면 O(1)로 원소를 찾을 수 있다.
- 원소를 삭제하면 해당 번호(index)에 빈 자리가 된다.
- 삭제 후 빈 자리를 채우기 위해 O(n)이 소요된다.
- 중간에 요소를 추가하기 위해서도 O(n)이 소요된다.
- 추가와 삭제가 반복되는 로직은 배열이 추천되지 않는다!
배열 생성 방법 4가지
const arr1 = [];
const arr2 = [1, 2, 3, 4, 5];
const arr3 = Array(10).fill(0);
const arr4 = Array.from({ length: 10 }, (_, i) => i);
console.log(arr1);
console.log(arr2);
console.log(arr3);
console.log(arr4);

배열 요소 추가 및 삭제
const arr = [1, 2, 3, 4, 5];
console.log(arr);
arr.push(280); //arr 맨 뒤에 280 삽입
console.log(arr);
arr.push(23, 52); //arr 맨 뒤에 23, 52 삽입
console.log(arr);
arr.splice(3, 2, 111); //인덱스 3에서부터 2개의 원소를 삭제 후, 그 자리에 111 삽입
console.log(arr);
arr.splice(3, 1); //인덱스 3에서부터 1개의 원소를 삭제
console.log(arr);

728x90
반응형
'TIL' 카테고리의 다른 글
(TIL Day03-02)자료구조-연결 리스트(2) 양방향 연결 리스트 (0) | 2021.08.05 |
---|---|
(TIL Day03-02)자료구조-연결 리스트(1) 단방향 연결 리스트 (0) | 2021.08.05 |
(TIL Day02-2)쿠키와 세션 (0) | 2021.08.04 |
(TIL Day 02-1)JavaSript의 패러다임 (0) | 2021.08.04 |
(TIL Day 01)프론트엔드 개발과 JavaScript (0) | 2021.08.04 |