在leecode刷題的時候,需要檢視建立的二叉樹是不是正確的,所以想簡單的寫乙個能看的樹狀圖就好了。因為在其他題目裡可能還需要重新寫,因此我這段**是想寫的簡短一點,自己能看就行。
注釋**什麼的,等我的筆到貨之後再改吧。
void disptreelayers(tree t)
static void treeinserttocache(tree t, treeelementtype* cache, int offset)
cache[offset] = t->val;
int offsettmp = offset << 1;
treeinserttocache(t->left, cache, offsettmp);
treeinserttocache(t->right, cache, offsettmp+1);
return;
}static void printfwhitespace(int num)
printf("%*c", num*__datawidth, ' ');
return;
}
#include #include #include #include #include #define __datawidth 2
typedef int treeelementtype;
typedef struct treenode* tree;
typedef struct treenode treenode;
struct treenode ;
int depthoftree(tree t);
void disptreelayers(tree t);
static void treeinserttocache(tree t, treeelementtype* cache, int offset);
static void printfwhitespace(int num);
C語言列印二叉樹
c語言列印二叉樹 在廣度遍歷的時候,有非常繁雜的計算符號的方法,要看懂可能得花時間。1 整個設計的難點在sprintf函式運用。sprintf buf,s 5,裡面的 s表示填充 個符號,個數和符號分別在字串後面表示。sprintf buf,s 5,裡面的 s表示擷取 個符號,個數和符號分別在字串後...
二叉樹列印
舉例 1.初始化時,last 1,把1放入佇列 2.將1出隊,把1的子孩子2,3放入佇列,更新nlast 3 3.nlast更新完之後,列印上一次出隊的1,並和last比較,如果相同就列印換行,並更新last nlast 3 4.將2出隊,把2的子孩子4放入佇列,更新nlast 4 5,nlast更...
二叉樹列印
給定一顆二叉樹的頭節點head,請按照現在大家看到的這種格式列印 要求列印成 12 主要解決的問題是 如何換行 last 表示正在列印的當前行的最右節點 從左至右遍歷,如果遍歷到last節點,說明該換行了,換行之後,只需要nlast last,繼續下一行的列印過程,一直重複,直到所有的節點都列印完。...