JS 알고리즘 13일차 - 단일 연결 리스트(insert)


JS 알고리즘 13일차 - 단일 연결 리스트(insert)

Insert 소개 이미 존재하는 노드를 업데이트하는 대신 주어진 노드를 그곳이 어디든 주어진 위치에 새롭게 삽입한다. 의사코드 인덱스와 값 두 개의 인자를 받아들이는 함수를 정의한다. 범위를 벗어날 경우 삽입이 가능하지 않기 때문에 만일 인덱스가 0보다 작거나 리스트의 길이보다 클 경우 false를 반환한다. 이때 주의할 점은 리스트의 길이보다 크거나 같을 경우가 아니라 클 경우라는 점이다. 인덱스가 길이와 같을 경우는 리스트의 맨 마지막에 삽입하면 되기 때문이다. 즉, 리스트의 맨 마지막에 삽입하기를 원할 경우 다시 작성할 필요없이 push를 활용하면 된다. 마찬가지로 리스트의 맨 앞에 새로운 노드를 삽입하기를 원하면 unshift를 활용할 수 있다. 새롭게 노드를 삽입하려는 위치 바로 전 노드가 어떤 것인지 알게 때문에 이전 노드의 next가 새롭게 생성된 후 삽입되는 노드를 가리키도록 설정한다. 마지막으로 노드를 하나 삽입했기 때문에 길이를 1만큼 증가시키고 true를 반환한다...


#insert #JavaScript #단일연결리스트 #알고리즘 #자료구조

원문링크 : JS 알고리즘 13일차 - 단일 연결 리스트(insert)