728x90
반응형
순차 리스트란?
리스트, 순차 리스트, 배열 이렇게 표현이 됩니다.
동일한 성격을 가진 자료들이 연속된 공간에 저장
되는 선형 자료구조입니다.
음식이라는 공통 성격의 자료들이 분명
탐색할 때는 빠른 속도의 장점이 있었으나,
삭제 또는 제거를 하기 위해서는
양쪽으로 존재하는 데이터를
하나씩 옮겨주어야 하는
번거로움이 있습니다.
이러한 배열을
javascript 프로그래밍으로
한 번 활용해보겠습니다.
const food = ["수박", "사이다", "바나나", "삼겹살", "오이", "상추"];
const foodArray = new Array("수박", "사이다", "바나나", "삼겹살", "오이", "상추");
console.log("food 2 = ", food[2]);
// food 2 = 바나나
console.log("foodArray 2 = ", foodArray[2]);
//foodArray 2 = 바나나
위처럼 2가지 방법으로
배열을 선언할 수 있습니다.
그렇다면
추가를 하기위해
어떤 과정으로 추가를 해야 할까요?
/*
arr = 추가하고자 하는 배열
value = 추가 값
path = 추가 위치
*/
const insertArrayValue = (arr, value, path) => {
// 추가할 위치의 원소를 옮겨 공간 확보
for (let i = arr.length -1; i >= path; i--) {
arr[i + 1] = arr[i];
}
// 원소 추가
arr[path] = value;
return arr;
}
위와 같은 메서드를 만들어 주었습니다.
const food = ["수박", "사이다", "바나나", "삼겹살", "오이", "상추"];
const foodArray = new Array("수박", "사이다", "바나나", "삼겹살", "오이", "상추");
console.log("food 2 = ", food[2]);
// food 2 = 바나나
console.log("foodArray 2 = ", foodArray[2]);
// foodArray 2 = 바나나
console.log("추가 전 - ", food);
// 추가 전 - [ '수박', '사이다', '바나나', '삼겹살', '오이', '상추' ]
insertArrayValue(food, '추가', 2);
console.log("추가 후 - ", food);
// 추가 후 - ['수박', '사이다', '추가', '바나나', '삼겹살', '오이', '상추']
마찬가지로
삭제를 하기 위해서
요소 삭제 후,
데이터를 하나씩 당겨주는 작업을
해주어야 합니다.
이러한 추가 및 삭제에 대한 단점이 있는
리스트를 개선한 것이
연결 리스트입니다.
다음에는 연결 리스트에 대해
알아보겠습니다.
반응형
'Development > 알고리즘' 카테고리의 다른 글
[6] [알고리즘 - 자료구조] 스택(Stack)이란? (선형구조) javascript 구현 (0) | 2021.11.10 |
---|---|
[5] [알고리즘 - 자료구조] 연결리스트(Linked List)란? (선형구조) javascript 구현 (0) | 2021.11.09 |
[3] [알고리즘 - 자료구조] 선형구조란? (0) | 2021.11.08 |
[2] [알고리즘 - 자료구조] 단순구조란? 정수, 실수, 문자, 문자열 (0) | 2021.11.07 |
[1] [알고리즘 - 자료구조] 자료구조란? 자료구조 전체 리스트 분류 (0) | 2021.11.07 |