构建二叉树(swift)
public
class
ALTree<T: Comparable> {
var key :
T?
var left :
ALTree?
var right :
ALTree?
func addNode(key :
T) {
if (self.key
==
nil) {
self.key
= key
return
}
if (key <
self.key) {
if (self.left
!=
nil) {
left!.addNode(key)
}
else {
var leftChild :
ALTree =
ALTree()
leftChild.key
= key
self.left
= leftChild
}
}
if (key >
self.key) {
if (self.right
!=
nil) {
right!.addNode(key)
}
else {
var rightChild :
ALTree =
ALTree()
rightChild.key
= key
self.right
= rightChild
}
}
}
}
let
numberList :
Array<Int> = [8,2,10,9,11,1,7]
var
root =
ALTree<Int>()
for
number
in numberList {
root.addNode(number)
}
println(root)
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-08-30 04:37:07