构建二叉树(swift)

来源:互联网 发布:工业企业数据库 官网 编辑:程序博客网 时间:2024/05/29 17:32

构建二叉树(swift)


publicclassALTree<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
            }
        }
    }
}

letnumberList : Array<Int> = [8,2,10,9,11,1,7]
varroot = ALTree<Int>()
fornumber in numberList {
    root.
addNode(number)
}
println(root)

1 0
原创粉丝点击