Skip to content

Instantly share code, notes, and snippets.

@kballenegger
Created October 2, 2014 03:34
Show Gist options
  • Save kballenegger/35cef263d12b5f32802c to your computer and use it in GitHub Desktop.
Save kballenegger/35cef263d12b5f32802c to your computer and use it in GitHub Desktop.
[wip] binary search tree in swift
// ~Immutable~ Binary Search Tree
class Node<T: Comparable>: Printable {
var left: Node<T>?
var right: Node<T>?
var value: T
init(_ value: T, left: Node<T>? = nil, right: Node<T>? = nil) {
self.value = value
self.left = left
self.right = right
}
func insert(value: T) {
if value < self.value {
if let node = self.left {
return node.insert(value)
} else {
self.left = Node(value)
}
} else {
if let node = self.right {
return node.insert(value)
} else {
self.right = Node(value)
}
}
}
func delete(value: T) {
if value < self.value {
} else {
}
}
var description: String {
return "hello"
}
}
let root = Node(5)
root.insert(1)
root.insert(3)
root.insert(9)
print(root)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment