AVL樹標頭檔C語言(AVLTree.h)

來源:互聯網
上載者:User

我的第一顆AVL樹.弄了一天,雖然還沒有最終測試完畢./* AVLTree.h -- AVl樹標頭檔*/</p><p>/*資料類型定義*/</p><p>typedef int Item ;<br />typedef struct node<br />{<br />Item item ;<br />struct node * left ;<br />struct node * right ;<br />int height ;<br />} Node ;<br />typedef Node * Position ;<br />typedef Position Tree ;</p><p>/*介面函式宣告*/</p><p>/*操作:初始化一棵AVL樹*/<br />/*操作前:ptree 指向一棵AVL樹*/<br />/*操作後:該樹被初始化為空白樹*/<br />void InitializeAVLTree (Tree * ptree) ;</p><p>/*操作:確定AVL樹是否為空白*/<br />/*操作前:tree 是一棵已初始化的AVL樹*/<br />/*操作後:如果該樹為空白, 返回1; 否則返回0*/<br />int AVLTreeIsEmpty (const Tree tree) ;</p><p>/*操作:返回樹中指定資料所在結點*/<br />/*操作前:tree 是一棵已初始化的AVL樹, item 是被尋找的資料*/<br />/*操作後:如果可能, 返回被尋找資料所在結點的地址; 否則返回?*/<br />Position Find (const Tree tree, const Item item) ;</p><p>/*操作:返回樹中最大資料所在結點位置*/<br />/*操作前:tree 是一棵已初始化的AVL樹*/<br />/*操作後:如果可能, 返回樹中最大資料所在結點的位置; 否則返回NULL*/<br />Position FindMax (const Tree tree) ;</p><p>/*操作:返回樹中最小資料所在結點位置*/<br />/*操作前:tree 是一棵已初始化的AVL樹*/<br />/*操作後:如果可能, 返回樹中最小數絕所在結點的位置; 否則返回NULL*/<br />Position FindMin (const Tree tree) ;</p><p>/*操作:向AVL樹中插入結點*/<br />/*操作前:tree 是一棵已初始化的AVL樹, item 是準備插入結點的指定資料*/<br />/*操作後:如果可能, 返回插入結點後的新樹; 否則返回原樹*/<br />Tree Insert (Tree tree, const Item item) ;</p><p>/*操作:以中序遍曆將一個函數作用於AVL樹中的所有結點*/<br />/*操作前:tree 是一棵已初始化的AVL樹, pfun 指向一個沒有傳回值, 接受一個 Position 型別參數的函數*/<br />/*操作後:該函數被作用到該樹的所有結點, 後序中曆方式*/<br />void PostorderTraverse (const Tree tree, void (* pfun) (const Position position)) ;</p><p>/*操作:刪除AVL樹中指定資料所在結點*/<br />/*操作前:tree 是一棵已初始化的AVL樹, item 是被刪除的資料*/<br />/*操作後:如果可能, 刪除該資料所在結點, 並調整樹符合AVL樹特性, 返回樹根結點地址; 否則不做更改, 返回樹根結點地址*/<br />Tree Delete (Tree tree, const Item item) ;</p><p>/*操作:清空一棵AVL樹*/<br />/*操作前:tree 是一棵已初始化的AVL樹*/<br />/*操作後:該樹被清空*/<br />void EmptyTheAVLTree (Tree tree) ;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.