Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

미래학자

[자료구조] 연결 리스트(linked list) 본문

전산 지식

[자료구조] 연결 리스트(linked list)

미래학자 2018. 4. 24. 23:23

이번에는 연결 리스트를 js로 구현해보았습니다.

연결 리스트를 알고 계신다를 전제로,, 연결리스트의 스펙을 먼저 보겠습니다.


 method

설명 

 add(...arg) 

새로운 아이템을 추가합니다. 인자가 하나 또는 두 개이며, 인자가 하나일 땐 해당 인자를 값으로 하는 아이템을 맨 마지막에 추가합니다. 인자가 두개라면, 첫 번째 인자는 추가될 인덱스고 두 번째 인자가 값이 됩니다. 

 get(index)

  index에 위치한 Node를 반환합니다. 만약 해당 노드가 존재하지 않는다면 null을 리턴합니다.

size()

아이템의 총 개수를 반환합니다. 

 contains(value)

리스트 내부에 해당 값을 갖는 노드가 존재하는지 여부

 remove(index)

인덱스에 존재하는 아이템을 제거합니다. 



전체 코드는 다음과 같다. (편의를 위해 전체 아이템을 출력하는 show함수를 구현했다.)



연결리스트 코드


이중연결리스트 코드




코드 개선이 필요하지만, 그건 나중에.. 0인덱스나 끝 인덱스 처리에 대해 깔끔하지 않는게 조금 아쉽다..

Comments