public
class
node
public
void
add(
int m)
else
else
}else
else}}
}}
public string select
(int index)
else
if(flag.value == index)
else
if(flag.value < index)
else
}}
public
void
delete
(int index)
else
}//找到替換節點,改變指向,也可以修改節點的值,都行
node temp = flag.right;
if(delflag.left !=flag) flag.left = delflag.left;
if(delflag.right !=flag) flag.right = delflag.right;
if(delflag != parent) parent.left = temp;
}else
if(delflag.left != null)
else
} node temp = flag.left;
if(delflag.left !=flag) flag.left = delflag.left;
if(delflag.right !=flag) flag.right = delflag.right;
if(delflag != parent) parent.right = temp;
}else
else
break;}
//根據不同情況改變指向,分別為刪除跟結點時,刪除的是某個左節點時,刪除的某個右節點時
if(index == tree.value)
else
if(isleft ==1)
else
if(isleft ==0)
break
;//終止迴圈
}else
if(delflag.value > index)
else
}}
先判斷是否存在此節點,存在的話刪除,再進行插入 二叉排序樹的增刪改操作
二叉排序樹又稱二叉查詢樹。若根節點的左子樹非空,則左子樹上所有節點的關鍵字值均小於等於根節點的關鍵字。若根節點的右子樹非空,則右子樹上所有節點的關鍵字均大於等於根節點的關鍵字。根節點的左右子樹也分別為二叉排序樹。二叉排序樹的中根遍歷序列為按關鍵字公升序排列的。節點類package com.itree...
二叉搜尋樹的增刪改查
二叉搜尋樹 binary search tree 簡稱 bst,是一種特殊形式的二叉樹。二叉搜尋樹的的結構有兩種可能 對於二叉搜尋樹,需要掌握基本的操作 當要查詢目標值的節點時,我們可以根據二叉樹的結點資料值的有序性 左孩子 根結點 右孩子 根據以下思路進行查詢 簡單實現 返回以目標值結點為根結點的...
c語言 二叉排序樹增刪
一 tree.h pragma once include includetypedef struct binary sort tree bst define bst size sizeof bst bst tree root 這裡如果賦初始值,就是定義了,宣告可以多次,但是定義只能一次。兩個.c檔案...