日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java实现2-3树_2-3-4树的分裂核心代码【JAVA实现】 | 学步园

發布時間:2024/9/27 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java实现2-3树_2-3-4树的分裂核心代码【JAVA实现】 | 学步园 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

public void split(Node thisNode) // split the node

{

// assumes node is full

DataItem itemB, itemC; //數據項B,C

Node parent, child2, child3;//thisNode節點父節點,第3、4個子節點

int itemIndex;

itemC = thisNode.removeItem(); // 數據項C從thisNode節點移除

itemB = thisNode.removeItem(); // 數據項B從thisNode節點移除

child2 = thisNode.disconnectChild(2); // 節點的第3個子節點從節點中斷開

child3 = thisNode.disconnectChild(3); //節點的第4個子節點從節點中斷開

Node newRight = new Node(); // make new node

if(thisNode==root) // 如果是根節點,創建新的節點,作為根。它是要分裂節點的父節點。

{

root = new Node(); // make new root

parent = root; // root is our parent

root.connectChild(0, thisNode); // connect to parent

}

else // this node not the root

parent = thisNode.getParent(); // 得到節點的父節點

// deal with parent

itemIndex = parent.insertItem(itemB); // 將數據項B插入父節點,并返回插入的位置

int n = parent.getNumItems(); // 父節點的數據項總數

/*

*將父節點中子節點移動到合適的位置

*/

for(int j=n-1; j>itemIndex; j--) // move parent's

{ // connections

Node temp = parent.disconnectChild(j); // one child

parent.connectChild(j+1, temp); // to the right

}

// connect newRight to parent

parent.connectChild(itemIndex+1, newRight);//新節點與父節點相連

// deal with newRight

newRight.insertItem(itemC); // item C to newRight

newRight.connectChild(0, child2); // connect to 0 and 1

newRight.connectChild(1, child3); // on newRight

} // end split()

總結

以上是生活随笔為你收集整理的java实现2-3树_2-3-4树的分裂核心代码【JAVA实现】 | 学步园的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。