[알고리즘] Linked List 이란

2024. 11. 10. 17:41·알고리즘

 

 

 

javascript 로 구현해보기

class Node {
  constructor(element) {
    this.element = element;
    this.next = null;
  }
}

class LinkedList {
  constructor() {
    this.head = new Node("head");
  }

  insert(newElement, item) {
    let newNode = new Node(newElement); //새로운 노드 생성
    let current = this.find(item); // 삽입할 위치의 노드 찾기
    newNode.next = current.next; // 찾은 노드가 가리키는 노드를 새로은 노드가 가리키기
    current.next = newNode; // 찾은 노드는 이제부터 새로운 노드를 가리키도록 하기
  }

  find(item) {
    let currNode = this.head; // 1.현재위치를잡고
    while (currNode.element !== item) {
      currNode = currNode.next;
    }
    return currNode;
  }

  toString() {
    let array = [];
    let currNode = this.head;
    while (currNode.next !== null) {
      array.push(currNode.next.element);
      currNode = currNode.next;
    }
    return array;
  }
}

let linkedList = new LinkedList();
linkedList.insert("A", "head");
linkedList.insert("B", "A");
console.log(linkedList.toString());

'알고리즘' 카테고리의 다른 글

[알고리즘] 배열중간삽입 - Linked List를 알기위한 사전단계  (0) 2024.11.10
[알고리즘] 피보나치 수열 - dp를 알기위한 사전단계  (3) 2024.11.09
[알고리즘] Hash (해쉬)이란  (0) 2024.02.12
[알고리즘] Greedy Algorithm (탐욕알고리즘) 이란  (1) 2024.02.12
Codewars 사용  (0) 2022.03.21
'알고리즘' 카테고리의 다른 글
  • [알고리즘] 배열중간삽입 - Linked List를 알기위한 사전단계
  • [알고리즘] 피보나치 수열 - dp를 알기위한 사전단계
  • [알고리즘] Hash (해쉬)이란
  • [알고리즘] Greedy Algorithm (탐욕알고리즘) 이란
윤랩용
윤랩용
10배의 법칙으로 행동하면 나에게복이있나리
  • 윤랩용
    yunrap 개발블로그
    윤랩용
  • 전체
    오늘
    어제
    • 분류 전체보기 (78) N
      • 알고리즘 (10) N
        • 알고리즘유형 (2) N
        • 코딩테스트 (2)
      • 네트워크 (1)
      • 언어 (13)
        • HTML (0)
        • CSS (0)
        • Javascript (9)
        • Java (1)
        • 용어 (3)
      • Backend (1)
        • Spring (1)
      • FrontEnd (9)
        • React (7)
        • Next.js (0)
        • LAB(실험실) (1)
      • 자기개발 (2)
        • motivation (1)
      • BOOK (35)
        • 모던자바스크립트 DeepDive (22)
        • 인사이드 자바스크립트 (2)
      • 요즘 FE TREND 뭘까? (0)
  • 공지사항

    • 블로그를 새롭게 활성화시키겠습니다.
  • 최근 글

  • 인기 글

  • 태그

    dark:
    접근자프로퍼티
    __proto__
    함수프로그래밍
    비동기요
    물너비구현하기
    콜백패턴
    var키워드
    클로저 js
    캡슐화
    시스템테마
    원시타입
    promise catch
    클로저
    tailwind 다크모드
    빌트인객체 프로미스
    즉시실행함수
    create react app
    프로미스체이닝
    후속처리메서드
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
윤랩용
[알고리즘] Linked List 이란
상단으로

티스토리툴바