void BiSoTree::Search_Inseart(Node *p,int k) // 也可以不用传Root过去,直接在函数里使用Root,Node *p=Root;{ Node *pre=NULL; while(p!=NULL){pre=p; // pre始终为p的父亲if(k>p->key)p=p->RightChild;else if(k
key)p=p->LeftChild;else if(k==p->key)return;}if(p==NULL) // p跳到根结点或者叶子结点{p=new Node(); // p创建一个新的结点p->key=k;if(pre==NULL)Root=p;else{if(pre->keykey)pre->RightChild=p; // 让原本指向空的右孩子指向一个新的p结点else pre->LeftChild=p;}}}