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

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計--按層次遍歷二叉樹(編輯修改稿)

2025-07-09 15:08 本頁面
 

【文章內(nèi)容簡介】 } }。 遍歷二叉樹 void BinTree::levelOrder(BinTreeNode* subTree) //按層次序遍歷二叉樹 { queueBinTreeNode *q。 BinTreeNode*p=subTree。 (p)。 while(!()) //若樹非空 { p=()。coutvisit(p) 。 //輸出隊頭元素 ()。 if(pleftchild!=NULL){(pleftchild)。} //左子樹非空,入隊 6 if(prightchild!=NULL){(prightchild)。} } }。 按要求格式輸出已建立的二叉樹 void Print_BinTree(BinTreeNode* Tree,int i) //按要求格式輸出已建立的二叉樹 i表示結(jié)點所在層次。初始 i=0 { BinTreeNode*p=Tree。 if(prightchild) Print_BinTree(Treerightchild,i+1)。 //遞歸函數(shù) for(int j=1。j=i。j++) cout 。 //打印 i個空格表示層次 coutpdataendl。 if(pleftchild) Print_BinTree(Treeleftchild,i+1)。 }。 測試程序 如圖所示二叉樹 ,按先序遍歷順序輸入, ABDCEF。其中 ””代表空格,二叉樹是: A為根節(jié)點, A 左孩子是 B,右孩子是 C,B 的左孩子為空,右孩子為 D, C 的左孩子為E,右孩子為空, E的左孩子為空,右孩子為 F。根據(jù)以下程序運行結(jié)果(見圖 4)可知,程序正確運行 。 若輸入 ABDCEF,則程序出現(xiàn)錯誤,不能運行。(見圖 3) 4 調(diào)試報告 在建立二叉樹時,輸入的格式一定要正確,沒有孩子的要用空格表示,在測試用例中, F 沒有孩子,要用兩個空格表示,如果輸入“ ABDCEF”則沒有輸出結(jié)果。 起初編 寫輸出程序( void Print_BinTree(BinTreeNode* Tree,int i))的時候,始終顯示編譯無錯誤,但是不能運行,出現(xiàn)了一堆有關(guān)內(nèi)存分配錯誤的問題。最后發(fā)現(xiàn)沒有將指針指向結(jié)點。經(jīng)改正,運行成功。 5 經(jīng)驗和體會 本程序的建立和遍歷二叉樹的程序都比較簡單,關(guān)鍵在于按要求打印二叉樹。起初一直圖 2:測試二叉樹 7 找不到合適的方法按題目要求打印二叉樹,在和同學(xué)討論了很久之后終于有了思路。在調(diào)試程序的時候也出現(xiàn)了問題,起初沒有在意輸入方式對程序運行結(jié)果的影響,導(dǎo)致程序無法運行,在檢查了很久之后終于找到了 問題的所在,對輸入進行了改正,得到了正確的結(jié)果 。 除此之外,編寫 C++程序的過程中,指針時鐘是個難點也是個重點,今后要多練習(xí),多理解才行。 6 源程序清單及運行結(jié)果 源程序清單 includeiostream includequeue using namespace std。 structBinTreeNode //定義結(jié)構(gòu)體 { char data。 BinTreeNode* leftchild。 BinTreeNode*rightchild。
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1