简单的二叉树创建与遍历
生活随笔
收集整理的這篇文章主要介紹了
简单的二叉树创建与遍历
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
編一個程序,讀入用戶輸入的一串先序遍歷字符串,根據此字符串建立一個二叉樹(以指針方式存儲)。 例如如下的先序遍歷字符串: ABC##DE#G##F### 其中“#”表示的是空格,空格字符代表空樹。建立起此二叉樹以后,再對二叉樹進行中序遍歷,輸出遍歷結果。
代碼如下:
#include <iostream> using namespace std;struct node {char w;node *l, *r; };void build(node *&T) {char c;cin >> c;if (c == '#')T = NULL;else {T = new node;//這一步容易忘記,要申請空間!!!T->w = c;build(T->l);build(T->r);} }void in_order(node *T) {if (T) {in_order(T->l);cout << T->w;in_order(T->r);} }void delete_node(node *T) {if (T == NULL)return ;else {delete_node(T->l);delete_node(T->r);delete T;} }int main() {node *T;build(T);in_order(T);delete_node(T);//動態申請空間用完以后記得釋放return 0; }測試結果:
總結
以上是生活随笔為你收集整理的简单的二叉树创建与遍历的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 滴滴订单怎么删除记录
- 下一篇: 接单迎客,文远知行获准在北京开展整车无人