二叉排序樹的增 刪 改 查

2021-10-23 19:52:50 字數 1257 閱讀 6721

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檔案...