June 2018 Update
This commit is contained in:
parent
ba8067c3b7
commit
22f33d4004
5278 changed files with 84726 additions and 14379 deletions
|
|
@ -0,0 +1,7 @@
|
|||
singleton linkHelper
|
||||
{
|
||||
insertAfter(Link prev, IntNumber i)
|
||||
[
|
||||
prev Next := Link new(i, prev Next).
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
function Base.insert!(ll::LinkedList{T}, index::Integer, item::T) where T
|
||||
if index == 1
|
||||
if isempty(ll)
|
||||
return push!(ll, item)
|
||||
else
|
||||
ll.head = Node{T}(item, ll.head)
|
||||
end
|
||||
else
|
||||
nd = ll.head
|
||||
while index > 2
|
||||
if nd.next isa EmptyNode
|
||||
throw(BoundsError())
|
||||
else
|
||||
nd = nd.next
|
||||
index -= 1
|
||||
end
|
||||
end
|
||||
nd.next = Node{T}(item, nd.next)
|
||||
end
|
||||
return ll
|
||||
end
|
||||
|
|
@ -1,6 +1,11 @@
|
|||
object Node {
|
||||
def insert(a: Node, c: Node) = {
|
||||
c.next = a.next
|
||||
a.next = c
|
||||
}
|
||||
/*
|
||||
Here is a basic list definition
|
||||
|
||||
sealed trait List[+A]
|
||||
case class Cons[+A](head: A, tail: List[A]) extends List[A]
|
||||
case object Nil extends List[Nothing]
|
||||
*/
|
||||
|
||||
object List {
|
||||
def add[A](as: List[A], a: A): List[A] = Cons(a, as)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue