?? tree.cpp
字號:
#include "tree.h"
//遞歸建樹函數(shù)
treeNode* CreateFirst(){
char data;
scanf("%c",&data);
getchar();
if(data == ' '){
return NULL;
}
treeNode* father = (treeNode*)malloc(sizeof(treeNode));
father->data = data;
father->leftChild = CreateFirst();
father->rightChild = CreateFirst();
return father;
}
treeNode* CreateBitTreeInFirst(){
logo();
treeNode* temp;
printf("先序建立二叉樹,請輸入二叉樹的先序表示\n");
printf("空格表示一個(gè)NULL節(jié)點(diǎn)\n");
temp = CreateFirst();
return temp;
}
void VisitRecursion(treeNode* q){
if(q == NULL)
return;
printf("%c ",q->data);
VisitRecursion(q->leftChild);
VisitRecursion(q->rightChild);
}
void VisitRecursion(treeNode* q,int s){
if(q == NULL)
return;
switch(s){
case 1:{
printf("%c ",q->data);
VisitRecursion(q->leftChild,s);
VisitRecursion(q->rightChild,s);
};break;
case 2:{
VisitRecursion(q->leftChild,s);
printf("%c ",q->data);
VisitRecursion(q->rightChild,s);
};break;
case 3:{
VisitRecursion(q->leftChild,s);
VisitRecursion(q->rightChild,s);
printf("%c ",q->data);
};break;
default:break;
}
}
void VisitBitTreeInRecursion(){
int s;
while(true){
system("cls");
logo();
printf("樹的遞歸遍歷,請選擇想要演示的內(nèi)容\n");
printf("1.先序\n");
printf("2.中序\n");
printf("3.后序\n");
printf("0.退出\n");
scanf("%d",&s);
getchar();
if(s==0)
break;
treeNode* head = CreateBitTreeInFirst();
VisitRecursion(head,s);
printf("\n按任意鍵結(jié)束");
getchar();
}
}
void VisitBitTreeInUnrecursion(){
logo();
}
int BitTreeDepth(){
logo();
return 0;
}
void Prim(){
logo();
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -