求二叉樹的層序遍歷問題
要求:(1)編寫乙個建立二叉樹的函式。
(2)編寫按層次(同一層自左至右)輸出二叉樹中所有的結點的函式。
(3)編寫乙個測試主函式。
#include#includetypedef char elemtype;
#include "bitree.h"
typedef bitreenode *datatype;
#include "linqueue.h"
void visit(datatype item)
//void layerorder(bitreenode *t)
//void main(void)
typedef struct node
bitreenode; /*結點的結構體定義*/
void initiate(bitreenode **root) /*初始化建立二叉樹的頭結點*/
void destroy(bitreenode **root)
/*若當前結點curr非空,在curr的左子樹插入元素值為x的新結點*/
/*原curr所指結點的左子樹成為新插入結點的左子樹*/
/*若插入成功返回新插入結點的指標,否則返回空指標*/
bitreenode *insertleftnode(bitreenode *curr,elemtype x)
bitreenode *insertrightnode(bitreenode *curr,elemtype x)
bitreenode *deletelefttree(bitreenode *curr) /*若curr非空,刪除curr所指結點的左子樹*/
bitreenode *deleterighttree(bitreenode *curr)
typedef struct qnode
lqnode;
typedef struct
lqueue;
void queueinitiate(lqueue *q) /*初始化鏈式佇列q*/
int queuenotempty(lqueue q) /*判鏈式佇列q非空否,非空則返回1,否則返回0*/
p->data=x;
p->next=null;
if(q->rear!=null)
q->rear->next=p;
q->rear=p;
if(q->front==null)
q->front=p;
return 1;
}int queuedelete(lqueue *q,datatype *d) /*刪除鏈式佇列q的隊頭資料元素值到d ,出佇列成功則返回1,否則返回0*/
else }
int queueget(lqueue q,datatype *d) /*取鏈式佇列q的當前隊頭資料元素值到d ,成功則返回1,否則返回0*/
else }
void destroy1(lqueue q)
}
資料結構與演算法實驗祝恩 《資料結構與演算法》實驗報告
保持青春的秘訣,是有一顆不安分的心。資料結構與演算法 實驗報告 模板 實驗題目 線性表綜合實驗 班級 姓名 學號 完成日期 一 實驗目的 熟悉線性表的基本操作在兩種儲存結構上的實現,其中以熟悉各種鍊錶的操作為重點。通過具體應用例項在複習高階程式語言使用方法的基礎上初步了解資料結構的應用。二 實驗內容...
資料結構與演算法實驗祝恩 資料結構與演算法
版 次 1 頁 數 256 字 數 100 開 本 16開 紙 張 膠版紙 印 次 1 包 裝 平裝 膠訂 商品詳情 購書須知 快遞不是小店經營,有問題我們盡量給您解決,請不要因為快遞問題遷怒小店,非常感謝 基本資訊 書名 計算機 資料結構與演算法 定價 29.00元 出版社 清華大學出版社 出版日...
資料結構與演算法(九) 查詢
查詢是在大量的資訊中尋找乙個特定的資訊元素,在計算機應用中,查詢是常用的基本運算,例如編譯程式中符號表的查詢。定義 根據給定的某個值,在查詢表中確定乙個其關鍵字等於給定值的資料元素 或記錄 分類 靜態查詢和動態查詢 無序查詢和有序查詢。遍歷陣列並且依次對比值,相等時返回下標 在給定陣列中線性查詢指定...