求二叉樹的高度和銷毀一顆二叉樹——題集九
今天來分享一下,求二叉樹的高度和銷毀一顆二叉樹以及如何實現鍊錶翻轉(鍊錶逆置的公升級變型)。
求二叉樹的高度和銷毀一顆二叉樹(destroy(node* root) )的源**和執行示例。
源**如下:
執行結果:#includeusing namespace std;
struct treenode };
int _heigt(treenode* root)
//二叉樹的高度
int height(treenode* root)
void _destroy(treenode* & root)
//銷毀一顆二叉樹
void destroy(treenode*& root)
void testtree()};
void _rotatelist(listnode*& begin, listnode*& end)
next->next = cur;
}listnode* rotatelist(listnode* list, size_t k)
if(end->next != null)
else
begin->next =next;
prev=begin;
begin=end=next;
i=1;
}else}
return head;}
void printf(listnode* l1)
printf("\n");}
void testrotatelist(){如何實現鍊錶翻轉
listnode l1(1);
listnode l2(2);
listnode l3(3);
listnode l4(4);
listnode l5(5);
l1.next = &l2;
l2.next = &l3;
l3.next = &l4;
l4.next = &l5;
cout<
printf(la);
cout
printf(la);
l1.next = &l2;
l2.next = &l3;
l3.next = &l4;
l4.next = &l5;
cout
printf(la);
cout<
分享如上,如有錯誤,望斧正!願大家學得開心,共同進步!
程式設計練習之一顆二叉樹包含另一顆二叉樹
劍指offer上的一道程式設計練習,如何確定二叉樹a包含一棵相對小一點的二叉樹b?思路 用兩個函式實現,第乙個首先判斷根結點是否相等,第二個函式繼續判斷子結構是否相等 函式一 第一步,首先從根結點入手,判斷proota的值是否與prootb的根結點的值是否相等。若相等,則在比較a樹的子結構是否包含b...
二叉樹面試題(二) 求一顆二叉樹的映象
一 二叉樹的映象就是乙個樹在鏡子裡的成像 好吧!初中的物理知識來了,哈哈,其實很簡單,採用遞迴的方法求二叉樹的映象 1 如果樹為空,直接返回null 2 如果樹不為空,求其左子樹和右子樹的映象,遞迴完成後,將左子樹的映象放在根結點的右邊,將右子樹的映象放在根結點的左邊 二 圖說 三 實現 inclu...
二叉樹 48 二叉樹 二叉樹的高度
目的 使用c 模板設計並逐步完善二叉樹的抽象資料型別 adt 內容 1 請參照鍊錶的adt模板,設計二叉樹並逐步完善的抽象資料型別。由於該環境目前僅支援單檔案的編譯,故將所有內容都集中在乙個原始檔內。在實際的設計中,推薦將抽象類及對應的派生類分別放在單獨的標頭檔案中。參考教材 課件,以及網盤中的鍊錶...