?? 6_2.txt
字號:
#include<stdio.h>
#define maxsize 100
typedef struct node{
char data;
struct node *lchild,*rchild;
}bt;
typedef struct e{
bt *p;
int level;
}elem;
typedef struct q{
elem data[maxsize];
int front,rear;
}queue;
createbt(bt **T)
{
char ch;
scanf("%c",&ch);
if(ch==' ')*T=NULL;
else{
*T=(bt *)malloc(sizeof(bt));
(*T)->data=ch;
createbt(&((*T)->lchild));
createbt(&((*T)->rchild));
}
}
leveltrav(bt *t)
{
queue qu; bt *temp;int level=0;
qu.front=0;
qu.rear=0;
qu.rear++;
if(!t)return level;
(qu.data[qu.rear]).p=t;
(qu.data[qu.rear]).level=1;
while(qu.front!=qu.rear){
qu.front=(qu.front+1)%maxsize;
temp=qu.data[qu.front].p;
level=qu.data[qu.front].level;
if(temp->lchild){
qu.rear=(qu.rear+1)%maxsize;
(qu.data[qu.rear]).p=temp->lchild;
qu.data[qu.rear].level=level+1;
}
if(temp->rchild){
qu.rear=(qu.rear+1)%maxsize;
qu.data[qu.rear].p=temp->rchild;
qu.data[qu.rear].level=level+1;
}
}
return level;
}
main()
{
bt *h;
createbt(&h);
printf("level=%d\n",leveltrav(h));
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -