N

(TIL Day03-1)자료구조-배열 본문

TIL

(TIL Day03-1)자료구조-배열

naeunchan 2021. 8. 4. 23:27
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
반응형