freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)實踐課論文之通訊錄系統(tǒng)管理-資料下載頁

2025-06-06 01:24本頁面
  

【正文】 層次遍歷二叉樹序列 : )。 TravLevel(b)。 printf(\n)。 printf(先序遍歷序列 : )。 PreOrder(b)。 printf(\n)。 printf(釋放二叉樹 !)。 printf(\n)。 } ( 2) 用遞歸算法的先序遍歷函數(shù) void PreOrder(BTNode *b) //利用先序遍歷輸出二叉樹 { if(b != NULL) { printf(%c, b data)。 PreOrder(b lchild)。 PreOrder(b rchild)。 } } 14 ( 3) 源代碼 : /* *實驗名稱:建立二叉樹,層序、先序遍歷 *實驗時間: 2021/1/11 *實驗?zāi)康模阂竽軌蜉斎霕涞母鱾€結(jié)點,并能夠輸出用不同方法遍歷的遍 * 歷序列; *作者: By@劉清 lqing */ include include define MaxSize 100 typedef char ElemType。 typedef struct node { ElemType data。 struct node *lchild。 struct node *rchild。 }BTNode。 void CreateBTNode(BTNode *amp。b, char *str) //創(chuàng)建二叉樹 { BTNode *St[MaxSize], *p = NULL。 int top = 1, k, j = 0。 char ch。 b = NULL。 //建立的二叉樹初始化為空 ch = str[j]。 while(ch != 39。\039。) { switch(ch) { case 39。(39。: top++。 St[top] = p。 k = 1。 break。 //為左節(jié)點 case 39。)39。: top。 break。 case 39。,39。: k = 2。 break。 //為右節(jié)點 default: p = (BTNode *)malloc(sizeof(BTNode))。 p data = ch。 p lchild = p rchild = NULL。 if(b == NULL) b = p。 else { switch(k) { case 1: St[top] lchild = p。 break。 case 2: St[top] rchild = p。 break。 } } } j++。 ch = str[j]。 } } void DispBTNode(BTNode *b) //輸出二叉樹 { if(b != NULL) { 15 printf(%c, b data)。 if(b lchild != NULL || b rchild != NULL) { printf(()。 DispBTNode(b lchild)。 if(b rchild != NULL) printf(,)。 DispBTNode(b rchild)。 printf())。 } } } void TravLevel(BTNode *b) //層次遍歷二叉樹 { BTNode *Qu[MaxSize]。 int front, rear。 front = rear = 0。 if(b != NULL) printf(%c, b data)。 rear++。 Qu[rear] = b。 while(rear != front) { front = (front+1) % MaxSize。 b = Qu[front]。 if(b lchild != NULL) { printf(%c, b lchild data)。 rear = (rear+1) % MaxSize。 Qu[rear] = blchild。 } if(b rchild != NULL) { printf(%c, b rchild data)。 rear = (rear+1) % MaxSize。 Qu[rear] = brchild。 } } printf(\n)。 } void PreOrder(BTNode *b) //利用先序遍歷輸出二叉樹 { if(b != NULL) { printf(%c, b data)。 PreOrder(b lchild)。 PreOrder(b rchild)。 } } void DestroyBTNode(BTNode *amp。b) //銷毀二叉樹,釋放空間 { if(b != NULL) { DestroyBTNode(b lchild)。 DestroyBTNode(b rchild)。 16 free(b)。 } } void main() { BTNode *b。 CreateBTNode(b, A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I))))。 printf(輸出二叉樹 : )。 DispBTNode(b)。 printf(\n)。 printf(層次遍歷二叉樹序列 : )。 TravLevel(b)。 printf(\n)。 printf(先序遍歷序列 : )。 PreOrder(b)。 printf(\n)。 printf(釋放二叉樹 !)。 printf(\n)。 } 五 、 系統(tǒng)測試與操作說明 程序運行結(jié)果圖 六 、 總結(jié) 二叉樹是數(shù)據(jù)結(jié)構(gòu)課程中最為重要的一個分支,掌握和了解二叉樹的運用有利于我們解決很多問題。程序是基本的一些功能實現(xiàn),規(guī)模不大,但我依然很認(rèn)真的完成了這個實驗,但還是免不了各種錯誤的出現(xiàn)。編程過程需要很大的毅力和耐心,而且要有良好的思維和扎實的專業(yè)基礎(chǔ)知識,所以我需要不斷的學(xué)習(xí),發(fā)現(xiàn)自身不足之處改正它,逐步提高自己。
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1