Singly-linked list/Element insertion: Difference between revisions

Content added Content deleted
(Added Kotlin)
(→‎{{header|Kotlin}}: Converted insertion function to 'stand alone' plus other minor changes)
Line 854: Line 854:
<lang scala>// version 1.1.1
<lang scala>// version 1.1.1


class Node<T: Number>(var data: T, var next: Node<T>? = null) {
class Node<T: Number>(var data: T, var next: Node<T>? = null) {
fun insertAfter(prev: Node<T>, new: Node<T>) {
new.next = prev.next
prev.next = new
}
override fun toString(): String {
override fun toString(): String {
val sb = StringBuilder(this.data.toString())
val sb = StringBuilder(this.data.toString())
Line 869: Line 864:
return sb.toString()
return sb.toString()
}
}
}

fun <T: Number> insertAfter(prev: Node<T>, new: Node<T>) {
new.next = prev.next
prev.next = new
}
}


fun main(args: Array<String>) {
fun main(args: Array<String>) {
val c = Node(3)
val b = Node(3)
val a = Node(1, c)
val a = Node(1, b)
println("Before insertion : $a")
println("Before insertion : $a")
val b = Node(2)
val c = Node(2)
a.insertAfter(a, b)
insertAfter(a, c)
println("After insertion : $a")
println("After insertion : $a")
}</lang>
}</lang>