我一直在嘗試學習一些數據結構的來龍去脈,我試圖讓一個二進制splay樹正常工作。每次運行下面的代碼時,我所尋找的節點都超過了根節點,它告訴我它在那裏,然後從根節點刪除整個一面。如果節點只從頂部向下一級,它會正常工作。 我不確定發生了什麼問題,但我想它與我的旋轉功能有關。我已經正確地爲插入功能正常工作,這是我之後建模的功能。 public class SplayBST {
Node roo
好的,所以這裏是splay算法,如果你想檢查。 這是我張開功能: template <class WA>
void SplayTree<WA>::Do_Splay(SplayNODE<WA> *temp) //temp is the node which is to be splayed
{
if (temp==root) //if temp is root then
{