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...