C 언어 는 이 진 링크 저장 을 실현 한다.
c 언어 구체 적 인 실현 코드 는 다음 과 같다.
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedef int ElemType;//
// , ,
typedef struct BiTNode
{
ElemType data;
struct BiTNode *lChild,*rChild;
}BiTNode,*BiTree;
//
int CreateBiTree(BiTree *T)
{
ElemType ch;
ElemType temp;
scanf("%d",&ch);
temp=getchar();
if(ch==-1)
{
*T=NULL;
}
else
{
*T=(BiTree)malloc(sizeof(BiTNode));
if(!(*T))
{
exit(-1);
}
(*T)->data=ch;
printf(" %d :",ch);
CreateBiTree(&(*T)->lChild);
printf(" %d :",ch);
CreateBiTree(&(*T)->rChild);
}
return 1;
}
//
void TraverseBiTree(BiTree T)
{
if(T==NULL)
{
return;
}
printf("%d",T->data);
TraverseBiTree(T->lChild);
TraverseBiTree(T->rChild);
}
//
void InOrderBiTree(BiTree T)
{
if(T==NULL)
{
return;
}
InOrderBiTree(T->lChild);
printf("%d",T->data);
InOrderBiTree(T->rChild);
}
//
void PostOrderBiTree(BiTree T)
{
if(T==NULL)
{
return;
}
PostOrderBiTree(T->lChild);
PostOrderBiTree(T->rChild);
printf("%d",T->data);
}
//
int TreeDeep(BiTree T)
{
int deep=0;
if(T)
{
int leftdeep=TreeDeep(T->lChild);
int rightdeep=TreeDeep(T->rChild);
deep=leftdeep>=rightdeep?leftdeep+1:rightdeep+1;
}
return deep;
}
//
int Leafcount(BiTree T,int &num)
{
if(T)
{
if(T->lChild==NULL&&T->rChild==NULL)
{
num++;
}
Leafcount(T->lChild,num);
Leafcount(T->rChild,num);
}
return num;
}
//
int main(void)
{
BiTree T;
BiTree *p=(BiTree *)malloc(sizeof(BiTree));
int deepth,num=0;
printf(" ,-1 :
");
CreateBiTree(&T);
printf(" :
");
TraverseBiTree(T);
printf("
");
printf(" :
");
InOrderBiTree(T);
printf("
");
printf(" :
");
PostOrderBiTree(T);
printf("
");
deepth=TreeDeep(T);
printf(" :%d",deepth);
printf("
");
Leafcount(T,num);
printf(" :%d",num);
printf("
");
return 0;
}
얻 은 결 과 는 다음 그림 과 같다.이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C 언어 체인 시계는 뱀을 탐식하는 작은 게임을 실현한다본고의 실례는 여러분에게 C 언어 체인표가 뱀 탐식 게임을 실현하는 구체적인 코드를 공유하여 참고하도록 하였으며, 구체적인 내용은 다음과 같다. 프로젝트 이름: 뱀놀이 운영 환경: Linux 프로그래밍 언어: C 언...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.