code:
// 資料結構.cpp : 定義控制台應用程式的入口點。
//#include "stdafx.h"
#include
using
namespace std;
typedef
char elemtype;
typedef
struct lnode
lnode,*linkstack;//棧
typedef
struct bitnode
bitnode,*bittree;//樹
/******棧*********
_______________*/
int initstack(linkstack &s)//建立空棧
int empty_stack(linkstack s)
int push(linkstack s,bittree t)
p->tree=t;
p->next=s->next;//##
s->next=p;
return 1;
} int pop(linkstack s,bittree &p)//這樣用pop(,);
temp=s->next;
p=temp->tree;
s->next=temp->next;//他媽的錯了
free(temp);
return 1;
} int get_top(linkstack s,bittree &p)
else
} void l_display(linkstack s)
} /******樹********/
int creatb_tree(bittree &t)
return 1;
} /*************非遞迴 *******先序***************/
int pre_order_b_tree(bittree t)
} return 1;
} int main()
樹的遍歷遞迴非遞迴
1先序 遞迴 class solution public void b list list,treenode tree 非遞迴 class solution else return list 2中序 遞迴 class solution public void b list list,treenode...
樹的非遞迴遍歷
在vs2011版本中除錯通過。include stdafx.h include stack.h include 標準庫中定義的棧 includeusing namespace std define max len 15 void create tree treenode head,char pdat...
樹的非遞迴遍歷
1.中根遍歷 思路 一直遍歷左子樹 p p left 直到p為空。此時訪問棧頂元素,棧頂元素出棧。開始遍歷右子樹p p right 遍歷右子樹的左子樹 出棧時訪問 1.definition for a binary tree node.2.struct treenode 7.class soluti...