var m_root : Node = root
private def insert(key: Int, value: Int): Node = {
if(m_root == null) {
m_root = Node(key, value, null, null)
}
var t : Node = m_root
var flag : Int = 1
while (t != null && flag == 1) {
if(key == t.key) {
t
}
else if(key < t.key) {
if(t.left == null) {
t.left = Node(key, value, null, null)
flag = 0
} else {
t = t.left
}
} else {
if(t.right == null) {
t.right = Node(key, value, null, null)
flag = 0
} else {
t = t.right
}
}
}
t
}
我寫了迭代版插入一個節點到二叉搜索樹。我想在創建節點時終止,但它不會停止,因爲我認爲我沒有分配終止條件。如何編輯我的代碼以便在節點插入時終止?爲什麼它不終止?
「二叉搜索樹的侮辱」?不能同意更多。 –
@KimStebel對不起,輸入錯誤TT – Silvester
在樣式上:如果您將'flag'重命名爲'carryOn',並且將其設置爲初始爲'true'但分配了'false'的布爾變量,則代碼會稍微清晰一些當你想要終止循環的時候。 – dave4420