[kotlin] 연결 리스트(Linked List)의 특징과 사용 예시

연결 리스트(Linked List)는 데이터 요소가 노드라 불리는 객체의 각 요소로 구성된 선형 데이터 구조입니다. 각 노드는 데이터 필드와 다음 노드를 가리키는 포인터(링크)로 구성되어 있습니다.

연결 리스트의 특징

Kotlin에서 연결 리스트 사용하기

class Node(var data: Int) {
    var next: Node? = null
}

class LinkedList {
    private var head: Node? = null

    fun append(data: Int) {
        if (head == null) {
            head = Node(data)
        } else {
            var current = head
            while (current?.next != null) {
                current = current.next
            }
            current?.next = Node(data)
        }
    }

    fun display() {
        var current = head
        while (current != null) {
            println(current.data)
            current = current.next
        }
    }
}

fun main() {
    val ll = LinkedList()
    ll.append(1)
    ll.append(2)
    ll.append(3)
    ll.display()
}

위의 Kotlin 코드는 연결 리스트를 구현하고 사용하는 예시입니다. Node 클래스는 데이터를 저장하고 다음 노드를 가리키는 링크를 포함하고, LinkedList 클래스는 노드를 추가하고 연결 리스트를 출력합니다.

연결 리스트는 데이터 삽입 및 삭제가 빈번하게 일어나는 경우나 크기가 동적으로 변하는 경우에 유용합니다.

참고 자료: GeeksforGeeks - Linked List