完整正確的C語言二叉樹程式,用c語言實現二叉樹的程式,可以輸入輸出和遍歷

時間 2022-02-13 01:15:08

1樓:匿名使用者

#include

using namespace std;

class node

~node(){}

node* getleft()

void setleft(node* l)

node* getright()

void setright(node* r)

char& getdata()

void setdata(const int& index)

friend class bintree;

};class bintree

virtual ~bintree();

node* father(node* t,node* p);//在以t為根的子樹中尋找p的父結點

node* find(node* t,const char& item)const;//在以t為根的子樹中尋找data域為item的結點

void delsubtree(node* t);//從樹中刪除節點t及其左右子樹

void del(node* t);//刪除節點t及其左右子樹

void preorder(node* t)const;//先根

void inorder(node* t)const;//中根

void postorder(node* t)const;//後根

void leverorder(node* t,node**& b,int& length);//層次遍歷

void creatbintree(int tostop);//建立二叉樹

node* creat();

node* getroot()

void setroot(node* t)

int getstop()

void setstop(char tostop)

int isempty()

bool comptree(node* t);

};//先根建立二叉樹

void bintree::creatbintree(int tostop)

else

}//先根遍歷輸出二叉樹

void bintree::preorder(node* t)const

}int main()

break;

case 2:

break;

case 3:

break;

case 4:

break;

case 5:

break;

case 6:

break;

case 7:

break;

case 9:

break;

case 10:

l1.print();

break;

}cout<<"請選擇操作:";

}return 0;

}看著不需要的地方刪掉就行 建立二叉樹有標註,我的是以'#'結尾的 改下就可以了

2樓:

我有現成的,分享給大家了。

#include

#include

#define maxsize 100

typedef struct btnode

bitree;

bitree *creat(bitree *t) //建立二叉樹

if(s->datadata)

q->lchild=s;

else

q->rchild=s;

} scanf("%d",&x);

} return(t);

}bitree *insert(bitree *t) //插入結點

if(s->datadata)

q->lchild=s;

else

q->rchild=s;

} scanf("%d",&x);

} return(t);

}void search(bitree *t,int k) //查詢資料

else

if(t->datarchild;

else

t=t->lchild;

}if(flag!=1)

printf("沒有找到要查詢的資料!\n");

}bitree *dele(bitree *t,int k) //刪除資料

else

if(t->datarchild;

flag=0;

}else

}if(t->lchild==null&&t->rchild==null) //刪除葉子結點

else

else

else //刪除左右子樹都有的結點

if(t==q)

else}}

}return(f);

}void output(bitree * t) //實現二叉樹的遍歷

if (p->rchild!=null)}}

void main()}}

3樓:席新瑞2梅玉

可惜啊,我沒好好學,不懂啊

4樓:

呵呵 這個工程很浩大,我們有個作業和這個差不多,編了好久呢,不過是用c++編的

用c語言實現二叉樹的程式,可以輸入輸出和遍歷

5樓:隨風

用結構表示節點,構造連結串列,明白二叉數的要求,其它都是一般的c語言語法。

6樓:匿名使用者

又是資料結構,蛋疼!

請問c語言如何建立二叉樹????

資料結構二叉樹的遍歷,C語言資料結構 二叉樹的遍歷

前序 根,左兒子,右兒子 中序 左兒子,根,右兒子 後序 左兒子,右兒子,根 首先是要牢記一上幾句話 比如這棵樹的中許遍歷,a有左兒子,先不訪問a,以此類推,直到d沒有左兒子,訪問d,然後訪問d的根b,然後應該訪問b的右兒子,但是b沒有,所以訪問b的根a,訪問完a以後訪問a的右子樹。先看c,c有左兒...

求程式 線索二叉樹插入刪除運算,線索二叉樹的插入和刪除

include include malloc.h include windows.h define maxsize 20 規定樹中結點的最大數目 typedef struct nodebithptr bithptr q maxsize 建隊,儲存已輸入的結點的地址 bithptr creattree...

二叉樹的遍歷問題,二叉樹的遍歷問題?

程式vs2003成功編譯執行 include stdafx.h include using namespace std typedef struct tree bintree 二叉樹的建立 bintree create char str,intpose,intsize return t void p...