二叉搜尋樹標頭檔C語言(BinarySearchTree.h)

來源:互聯網
上載者:User

/* BinarySearchTree.h -- 二叉搜尋樹標頭檔 */</p><p>/* 資料類型定義 */</p><p>typedef int Item ;<br />typedef struct node<br />{<br /> Item item ;<br /> struct node * left ;<br /> struct node * right ;<br />} Node ;<br />typedef Node * Position ;<br />typedef Node * Tree ;</p><p>/* 介面函式宣告 */</p><p>/* 操作: 將二叉搜尋樹初始為空白 */<br />/* 操作前: ptree 指向一棵二叉搜尋樹 */<br />/* 操作後: 該樹被初始化為空白 */<br />void InitializeTree (Tree * ptree) ;</p><p>/* 操作: 確定二叉搜尋樹是否為空白 */<br />/* 操作前: tree 是一棵已初始化的二叉搜尋樹 */<br />/* 操作後: 如果該樹為空白, 返回1; 否則返回0 */<br />int TreeIsEmpty (const Tree tree) ;</p><p>/* 操作: 返回二叉搜尋樹中具有指定資料的結點的位置 */<br />/* 操作前: tree 是一棵已初始化的二叉搜尋樹, item 是被尋找的資料 */<br />/* 操作後: 如果可能, 返回具有 item 資料的結點在樹中的位置; 否則返回NULL */<br />Position Find (const Tree tree, const Item item) ;</p><p>/* 操作: 返回樹中的最小資料結點的位置 */<br />/* 操作前: tree 是一棵已初始化的二叉搜尋樹 */<br />/* 操作後: 如果可能, 返回該樹中最小資料結點的位置; 否則返回NULL */<br />Position FindMin (const Tree tree) ;</p><p>/* 操作: 返回樹中的最大資料結點的位置 */<br />/* 操作前: tree 是一棵已初始化的二叉搜尋樹 */<br />/* 操作後: 如果可能, 返回該樹中最小資料結點的位置; 否則返回NULL */<br />Position FindMax (const Tree tree) ;</p><p>/* 操作: 向二叉搜尋樹中插入一個結點 */<br />/* 操作前: tree 是一棵已初始化的二叉搜尋樹, item 是被添加到結點的資料 */<br />/* 操作後: 如果可能, 一個具有 item 資料的結點被添加到樹中, 返回根結點的位置; 否則返回NULL */<br />Tree Insert (Tree tree, const Item item) ;</p><p>/* 操作: 中序遍曆二叉搜尋樹中的所有結點 */<br />/* 操作前: tree 是一棵已初始化的二叉搜尋樹, pfun 指向一個沒有傳回值, 接受一個Item型別參數的函數 */<br />/* 操作後: 函數 pfun 以中序遍曆作用到樹中所有結點資料 */<br />void InorderTraversal (const Tree tree, void (* pfun) (const Item item)) ;</p><p>/* 操作: 刪除二叉搜尋樹中舉有指定資料的一個結點 */<br />/* 操作前: tree 是一棵已初始化的二叉搜尋樹, item 是指定的資料 */<br />/* 操作後: 如果可能, 具有 item 資料的結點被從該樹中刪除, 返回最初接受的結點的指標(通常用法是傳遞樹的根節點指標,於是這麼做得到一顆新樹);<br /> 否則不改變原樹, 返回傳入的結點的指標 */<br />Tree Delete (Tree tree, const Item item) ;</p><p>/* 操作: 清空一棵二叉搜尋樹 */<br />/* 操作前: tree 是一棵已初始化的二叉搜尋樹 */<br />/* 操作後: 該樹被置為為空白樹 */<br />void EmptyTheTree (Tree tree) ;<br />

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.