重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
遞歸方式基本思想:
公司主營業務:成都做網站、網站設計、移動網站開發等業務。幫助企業客戶真正實現互聯網宣傳,提高企業的競爭能力。創新互聯是一支青春激揚、勤奮敬業、活力青春激揚、勤奮敬業、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰,讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創新互聯推出武都免費做網站回饋大家。
BiTree *exchangeChild(BiTree *&T){
if(T==null) return null;//當結點為null直接return null
if(T->lchild!=null||T->rchild!=null){//當待處理結點左右孩子不同時為空時交換
BiTNode *temp=T->lchild;//輔助結點,用于交換
T->lchild=T->rchild;
T->rchild=temp;
}
//遞歸交換左右子樹
exchangeChild(T->lchild);
exchangeChild(T->rchild);
return T;
}
非遞歸方式基本思想:
需要利用隊列進行操作:
BiTree *exchangeChild(BiTree *&T){
BiTNode *temp; //輔助結點,用于交換結點
InitQueue(Q); //利用隊列實現,初始化隊列
if(T!=null) EnQueue(Q,T); //當結點不為空時入隊
while(!IsEmpty(Q)){ //當隊非空時
DeQueue(Q,T); //隊首元素出隊
if(T->lchild!=null||T->rchild!=null){//當隊首元素的左右孩子不同時為空時執行交換操作
temp=T->lchild;
T->lchild=T->rchild;
T->rchild=temp;
}
//對非空的孩子結點入隊,繼續執行上述操作
if(T->lchild!=null){
EnQueue(Q,T->lchild);
}
if(T->rchild!=null){
EnQueue(Q,T->rchild);
}
}
return T;//返回根結點
}
若有錯誤,歡迎指正
我們一起進步!