C語言樹狀列印二叉樹

2021-10-07 14:58:18 字數 997 閱讀 1013

在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,繼續下一行的列印過程,一直重複,直到所有的節點都列印完。...