第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關(guān)于二叉樹與二叉搜索樹!

關(guān)于二叉樹與二叉搜索樹!

C C# C++
asdhjhg 2017-05-31 17:46:33
對于二叉搜索樹,我們?nèi)绻獎h除一個節(jié)點,需要我們比較左右節(jié)點大小來找到這個節(jié)點,然后再有三種情況,無孩子,一個孩子,兩個孩子。但是,如果針對任意的二叉樹(非二叉搜索樹),那么如果要刪除任意數(shù)據(jù),應(yīng)該怎么C代碼實現(xiàn)呢?我自己寫了一個,不知可不可行,大神來給意見吶!以下是刪除功能的代碼struct?Node?*Find(struct?Node?*root) { while?(root?->?left?!=?NULL)?root?=?root?->?left; return?root; } struct?Node?*Delete(struct?Node?*root,?int?data) { if?(root?==?NULL)?return?root; if?(root?->?data?!=?data)? { root?->?left?=?Delete(root?->?left,?data); root?->?right?=?Delete(root?->?right,?data); } //wohoo....i?found?you,get?ready?to?delete! else { ????????//case?1?:?no?child if?(root?->?left?==?NULL?&&?root?->?right?==?NULL) { free(root);//C++?-->?delete?root; root?=?NULL; } //case?2?:?one?child else?if?(root?->?left?==?NULL) { struct?Node?*temp?=?root; root?=?root?->?right; free(temp);//C++?-->?delete?root; } else?if?(root?->?right?==?NULL) { struct?Node?*temp?=?root; root?=?root?->?left; free(temp);//C++?-->?delete?root; } else//case?3?:?two?children { struct?Node?*temp?=?Find(root);//find?a?data?to?replace?this?deleted?data root?->?data?=?temp?->?data; root?->?left?=?Delete(root?->?left,?temp?->?data);//Delete?the?data?I?found?on?the?left } } return?root; }
查看完整描述

目前暫無任何回答

  • 0 回答
  • 0 關(guān)注
  • 1640 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號