미래학자
[자료구조] 연결 리스트(linked list) 본문
이번에는 연결 리스트를 js로 구현해보았습니다.
연결 리스트를 알고 계신다를 전제로,, 연결리스트의 스펙을 먼저 보겠습니다.
method |
설명 |
add(...arg) |
새로운 아이템을 추가합니다. 인자가 하나 또는 두 개이며, 인자가 하나일 땐 해당 인자를 값으로 하는 아이템을 맨 마지막에 추가합니다. 인자가 두개라면, 첫 번째 인자는 추가될 인덱스고 두 번째 인자가 값이 됩니다. |
get(index) |
index에 위치한 Node를 반환합니다. 만약 해당 노드가 존재하지 않는다면 null을 리턴합니다. |
size() |
아이템의 총 개수를 반환합니다. |
contains(value) | 리스트 내부에 해당 값을 갖는 노드가 존재하는지 여부 |
remove(index) | 인덱스에 존재하는 아이템을 제거합니다. |
전체 코드는 다음과 같다. (편의를 위해 전체 아이템을 출력하는 show함수를 구현했다.)
연결리스트 코드
이중연결리스트 코드
코드 개선이 필요하지만, 그건 나중에.. 0인덱스나 끝 인덱스 처리에 대해 깔끔하지 않는게 조금 아쉽다..
'전산 지식' 카테고리의 다른 글
[자료구조] 이진 탐색 트리, 힙 (0) | 2018.06.24 |
---|---|
[자료구조] stack, queue (0) | 2018.06.10 |
[자료구조] 계수 정렬(counting sort) (0) | 2018.04.22 |
[자료구조] 퀵정렬(quick sort), 합병정렬(merge sort) (0) | 2018.04.22 |
[자료구조] 정렬 - 버블, 선택, 삽입 (0) | 2018.04.15 |
Comments