Doubly-linked list/Element insertion: Difference between revisions
Doubly-linked list/Element insertion (view source)
Revision as of 04:07, 28 November 2018
, 5 years ago→{{header|JavaScript}}
m (→{{header|Ada}}) |
|||
Line 516:
var list = createDoublyLinkedListFromArray(['A','B']);
list.insertAfter('A', new DoublyLinkedList('C', null, null));</lang>
=={{header|Julia}}==
<lang julia>mutable struct DLNode{T}
value::T
pred::Union{DLNode{T}, Nothing}
succ::Union{DLNode{T}, Nothing}
DLNode(v) = new{typeof(v)}(v, nothing, nothing)
end
function insertpost(prevnode, node)
succ = prevnode.succ
prevnode.succ = node
node.pred = prevnode
node.succ = succ
node
end
function printfromroot(r)
root = r
print(root.value)
while root.succ != nothing
root = root.succ
print(" -> $(root.value)")
end
println()
end
node1 = DLNode(1)
printfromroot(node1)
node2 = DLNode(2)
node3 = DLNode(3)
insertpost(node1, node2)
printfromroot(node1)
insertpost(node1, node3)
printfromroot(node1)
</lang> {{output}} <pre>
1
1 -> 2
1 -> 3 -> 2
</pre>
=={{header|Kotlin}}==
|