求二叉樹的高度和銷毀一顆二叉樹 題集九

2021-08-04 05:00:12 字數 1348 閱讀 1852

求二叉樹的高度和銷毀一顆二叉樹——題集九

今天來分享一下,求二叉樹的高度和銷毀一顆二叉樹以及如何實現鍊錶翻轉(鍊錶逆置的公升級變型)。

求二叉樹的高度和銷毀一顆二叉樹(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模板,設計二叉樹並逐步完善的抽象資料型別。由於該環境目前僅支援單檔案的編譯,故將所有內容都集中在乙個原始檔內。在實際的設計中,推薦將抽象類及對應的派生類分別放在單獨的標頭檔案中。參考教材 課件,以及網盤中的鍊錶...