當前位置:編程學習大全網 - 編程軟體 - 設計壹個算法把二叉數的葉子結點按從左到右的順序連成壹個單鏈表,二叉樹按ldchild-rchild方式存儲,?

設計壹個算法把二叉數的葉子結點按從左到右的順序連成壹個單鏈表,二叉樹按ldchild-rchild方式存儲,?

建立頭指針 h,和指向當前節點的指針 p = h;

按 先序 或 中序 遍歷該2叉樹.

當碰到葉子節點 c 時:

p->rchild = c;

p = c;

遍歷結束,返回h

*****************************

struct Node{

DateType date;

struct Node *lchild,*rchild

}*h,*p;

main()

{

*h = (Node *)malloc(sizeof(Node));

*p = h;

Node *tree;

/*取得2叉樹*/

...

/*遍歷*/

PreOderTraverse(tree);

p = h->rchild;

free(h);

/*輸出p*/

...

}

PreOrderTraverse(Node node)

{

if(node == null) return;

if(node->lchild == null && node->rchild == null)

{p->rchild = node;

p = node;

return;

}

PreOrderTraverse(node->lchild)

PreOrderTraverse(node->rchild)

}

  • 上一篇:想學短視頻剪輯兼職賺錢。有哪些接單途徑,軟件很多,該先從哪幾個軟件開始?
  • 下一篇:本人非計算機專業,零基礎可以學Python嗎
  • copyright 2024編程學習大全網